如何从 .tpl 文件中动态出现的数字中删除逗号
Posted
技术标签:
【中文标题】如何从 .tpl 文件中动态出现的数字中删除逗号【英文标题】: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 模板。我想从号码中删除逗号(,)。代码是 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' 并不能证明它是一个字符串,但除非你正在做一些非常奇怪的事情应该足够好)。 您还可以在字符组中添加其他符号以删除其他杂散字符(例如货币符号)。
【讨论】:
以上是关于如何从 .tpl 文件中动态出现的数字中删除逗号的主要内容,如果未能解决你的问题,请参考以下文章