JavaScript中Replace移除小数点返回空值,需得到69000的问题
解决字符串移除小数点后返回空的问题
哦,这个坑我之前也踩过!你用"690.00".replace(/./g, '')得到空字符串,是因为正则表达式里的.有特殊含义——它默认匹配任意单个字符,g修饰符又会全局替换,所以整个字符串里的每一个字符(包括数字和小数点)都被替换成空了,结果自然就为空啦。
给你几个靠谱的解决方法:
正则转义匹配小数点:要匹配字面量的
.,必须在前面加反斜杠\转义,这样正则就只会识别小数点了:"690.00".replace(/\./g, '') // 输出 "69000"用字符串替换(单小数点场景):如果确定字符串里只有一个小数点,直接传普通字符串给
replace就行,不用正则:"690.00".replace('.', '') // 输出 "69000"注意:这个方法只会替换第一个匹配到的小数点,如果字符串有多个小数点,还是用第一种正则转义的方法更稳妥。
split+join方法(无正则更直观):把字符串按小数点分割成数组,再把数组元素拼接起来,不管有多少个小数点都能全部移除:
"690.00".split('.').join('') // 输出 "69000"
这几个方法都能帮你得到想要的69000,根据你的实际场景选就行~
内容的提问来源于stack exchange,提问作者makdu
相关产品推荐
相关产品推荐

