如何在javascript中将此20,00
转换为2000
?
基本上如何删除十进制符号但保留所有数字?
答案 0 :(得分:10)
每个人都退后,我知道正则表达式!
var originalstring = '20,00';
var newstring = originalstring.replace(/,/g, '');
换句话说,replace()所有,
出现空字符串。您甚至可以使用字符类来删除除数字之外的任何内容,如果这是您的意图:
var originalstring = '20,00';
var newstring = originalstring.replace(/[^0-9]/g, '');
这可能很有用,因为小数分隔符是特定于语言环境的(例如,意味着用英语(en_US
),“两个半”是“2.5”,而在捷克语(cs_CZ
)它是“2,5”)。尽管JS总是使用十进制 point 来表示数字,但用户输入的数据将取决于区域设置(例如,numpad上的0旁边的键在某些布局中会发出,
),这可能导致如果你的脚本需要一个十进制逗号并得到一个小数点,那么就会产生混淆。
答案 1 :(得分:3)
使用replace
"20,00".replace(/,/g,"")
答案 2 :(得分:2)
正则表达式是你的朋友:
"20,00".replace(/[^\D]/g, '');
这将删除任何不是数字的内容。
答案 3 :(得分:1)
这是一种非正则表达方式。
var result = "20,00".split(',').join('');
答案 4 :(得分:0)
我认为你的号码是一个字符串。然后你可以parseInt('20.00'.replace(/\./, ''))
或者在你的情况下,如果你使用逗号作为分隔符,parseInt('20.00'.replace(/,/, ''))
。
答案 5 :(得分:0)
如果您的字符串中只有逗号,则不需要正则表达式:
"20,00".replace(',', '');
// gives 2000