在Javascript中,如何计算23668-23671.88
到-3.88
而不是-3.8800000000010186
的结果?
我不想要任何舍入,因为如果我使用windows calc,结果是-3.88。
有可能吗?
答案 0 :(得分:3)
如果您不想舍入,则需要某种方法来确定表达式中变量的精度,并将该精度应用于表达式的结果。不幸的是,JavaScript没有办法确定浮点数的精度。
然而,有一种简单的'hacky'方式可以实现这一目标:
var num = 2.383;
var precision = (num+'').split('.')[1].length;
var final = (234234-num).toFixed(precision);
alert(final);
它不漂亮,但它有效。
答案 1 :(得分:2)
如果你不想要一个圆形的kludge,你不能使用浮点数,而且必须找到a decimal arithmetic library.没有任何内置的东西,恐怕。