Reg Ex:删除多余的零和数字末尾的小数点

用户名

从数据源中,我得到了很多需要在浏览器中显示之前进行格式化的数字。

一些数字带有尾随零,并且一些数字带有尾随的小数点,之后都没有。

以下是我一直在尝试使用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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章