如何处理除法运算符中的溢出

时间:2019-01-17 05:16:27

标签: javascript operator-overloading operators decimal divide

这是我的问题: 我的数字为小数,例如:var a = 0.5556 我想将a与86400相乘:var b = a * 86400 = 48003.84; 之后,我想将b设置为86400:var c = b / 86400 = 0.5556018518518518 c的结果不等于a的值。 我的问题是如何使c的值等于javascript中a的值。有人可以帮我解决这个问题。

JavaScript

a = 0.5556;

b =一个* 86400

预期:c = b / 86400 = a

2 个答案:

答案 0 :(得分:1)

如果要精确到小数点后一定位数的输出,可以使用toPrecision()方法。

var a = 0.5556;
var b = (a * 86400).toPrecision(5);
var c = (b / 86400).toPrecision(5);

console.log(a)

答案 1 :(得分:0)

您将遇到固定点表示和算术的限制。通常,在比较浮点数时,会检查两个数字是否在彼此的一定范围内。

如果您不介意牺牲效率,则可以使用库来实现任意精度的浮点,例如enter link description here