我们可以使用正则表达式使用字符串将浮点数转换为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
但是我无法获得用于标准化的正则表达式
有人可以帮我吗?
答案 0 :(得分:-1)
以下代码显示29 alert(Math.round(0.29 * 100));