从数据源中,我得到了很多需要在浏览器中显示之前进行格式化的数字。
一些数字带有尾随零,并且一些数字带有尾随的小数点,之后都没有。
以下是我一直在尝试使用Javascript的RegEx实现实现的示例:
130.0000 = 130
132.0050 = 132.005
16.9000 = 16.9
140000000.00 = 140000000
132. = 132
89.0 = 89
90.0 = 90
9000.00 = 9000
99.0 = 99
99.00500 = 99.005
70 = 70 //fail, as it matches the zeros at the end if there's no decimal point
700 = 700 //fail, as it matches the zeros at the end if there's no decimal point
以下RegEx正确地匹配了所有内容,除了最后两个测试之外,在这些测试中,小数点之前的任何零也都匹配:
[\.0]0*$
对于现在让我头疼的任何帮助,将不胜感激。
提前谢谢了...
最强大的功能将接受您所有的输入并对其进行修剪parseFloat
:
const values = [
'130.0000',
'132.0050',
'16.9000',
'140000000.00',
'132.',
'89.0',
'90.0',
'9000.00',
'99.0',
'99.00500',
'70',
'700'
];
values.map(parseFloat).forEach(it => console.log(it));
然后,您可以使用任何一种Number
方法来获得特定的精度,取整,重新格式化等。
尽管正则表达式可以做很多邪恶的事情,但有时有一个函数可以正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句