如何从数字中删除小数符号但保留所有数字?

时间:2010-11-24 22:53:33

标签: javascript

如何在javascript中将此20,00转换为2000? 基本上如何删除十进制符号但保留所有数字?

6 个答案:

答案 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