如何从 .t​​pl 文件中动态出现的数字中删除逗号

Posted

技术标签:

【中文标题】如何从 .t​​pl 文件中动态出现的数字中删除逗号【英文标题】:How to remove comma from number which comes dynamically in .tpl file 【发布时间】:2012-09-24 05:18:48 【问题描述】:

我想从 .tpl 文件中的数字中删除逗号(例如将 1,125 更改为 1125 )。 该值像$variableMap[key] 一样动态地出现

【问题讨论】:

【参考方案1】:
var a='1,125';
a=a.replace(/\,/g,''); // 1125, but a string, so convert it to number
a=parseInt(a,10);

希望对你有帮助。

【讨论】:

您应该始终将基数传递给parseInt -> parseInt(a, 10);否则,JS 引擎会做出最佳猜测,并将 01125 解释为 base 8 并将其转换为 597 base 10。 大家好,其实我正在使用 java freemaker 模板。我想从号码中删除逗号(,)。代码是 $variableMap[key]。还有其他解决方案吗?? @sree - 您的代码必须在某处将模板占位符替换为实际值。你可以尝试只在那里修改。 我尝试了 0.35,我得到了 0。似乎这个数字必须是一个完整的数字? @user3629945 parseInt 将删除输入的任何小数部分【参考方案2】:
var a='1,125'
a=a.replace(/\,/g,'')
a=Number(a)

【讨论】:

【参考方案3】:

您可以使用以下功能。此函数还可以处理更大的数字,例如 123,123,123。

function removeCommas(str) 
    while (str.search(",") >= 0) 
        str = (str + "").replace(',', '');
    
    return str;
;

【讨论】:

【参考方案4】:
var s = '1,125';
s = s.split(',').join('');

希望对您有所帮助。

【讨论】:

【参考方案5】:

您可以使用正则表达式进行更改,因为它比拆分连接更快

var s = '1,125';
s = s.replace(/,/g, '');

//output 1125

【讨论】:

【参考方案6】:

传入的值可能并不总是一个字符串。如果传入的值是数字,则替换方法将不可用,并且您将收到错误消息。 建议使用 isNaN 查看是否为数字,然后假设为字符串,否则进行替换。

if(isNaN(x)) 
    x = parseInt(x.replace(/[,]/g,''));

(不是万无一失的,因为 'not number' 并不能证明它是一个字符串,但除非你正在做一些非常奇怪的事情应该足够好)。 您还可以在字符组中添加其他符号以删除其他杂散字符(例如货币符号)。

【讨论】:

以上是关于如何从 .t​​pl 文件中动态出现的数字中删除逗号的主要内容,如果未能解决你的问题,请参考以下文章

使用 PL SQL 删除

Oracle pl/sql:在事务中执行动态删除

如何删除最后一个数字中的逗号?

在 PL/SQL 中删除 xml 节点

PL-SQL 从对象表中删除项目

background intelligent transfer service 恢复中出现内部错误怎么办