使用正则表达式在JavaScript中将float转换为字符串

时间:2018-10-06 09:17:00

标签: javascript regex floating-accuracy

我们可以使用正则表达式使用字符串将浮点数转换为int吗? 我一直在尝试浮点乘法和加法,但是我陷在浮点错误中。

我的数字在0.01到100.00之间

我首先尝试了直接浮动,但它给了我浮动错误 https://codepen.io/anurag-desai/pen/QZKpbO

0.1+0.1+0.1 gives me an error of a rounding

所以现在我正在尝试另一种方法,将所有数字转换为整数,然后将它们相加,这样我就可以跳过整个浮点错误。

问题:0.29 * 100 = 28.9999996而不是29

那么我可以为此使用正则表达式吗?

就像它将通过将整数视为字符串来删除小数位

即:

  

0.01 ==> 001

     

0.1 ==> 010

     

1 ==> 100

     

10 ==> 1000

所以我有这种想法,但没有正确的方法

第一步:标准化浮点数

  

0.01 ==> 0.01

     

0.1 ==> 0.10

     

1 ==> 1.00

     

10 ==> 10.00

第2步:去除冰点。

Step3:转换为Int并将其用作Integer

但是我无法获得用于标准化的正则表达式

有人可以帮我吗?

1 个答案:

答案 0 :(得分:-1)

以下代码显示29 alert(Math.round(0.29 * 100));