Javascript舍入在77.475和67.475上失败

Javascript舍入在77.475和67.475上失败,javascript,math,rounding,rounding-error,Javascript,Math,Rounding,Rounding Error,使用以下代码(): 数字67.475和77.475分别返回67.47和77.47。但是,如果您更改任何其他数字,它将“正确”舍入。57.475或67.375将分别返回57.48和67.38 如果我使用basicvar round=num.toFixed(2),我会得到相同的结果 这在每个浏览器上都会发生。我怎样才能把它调到77.475到77.48之间呢?可能是调换方案的问题,它可能会使用。这个解决方案可以解决这个问题。 toFixed不舍入小数点,它只是截断了它,我不明白。为什么不干脆num.t

使用以下代码():

数字67.475和77.475分别返回67.47和77.47。但是,如果您更改任何其他数字,它将“正确”舍入。57.475或67.375将分别返回57.48和67.38

如果我使用basic
var round=num.toFixed(2),我会得到相同的结果


这在每个浏览器上都会发生。我怎样才能把它调到77.475到77.48之间呢?

可能是调换方案的问题,它可能会使用。这个解决方案可以解决这个问题。

toFixed
不舍入小数点,它只是截断了它,我不明白。为什么不干脆
num.toFixed(2)
?其他所有的乘法/除法/舍入是为了什么?@SterlingArcher你会想,但是将
var round
行更改为
var round=num.toFixed(2)仍然进行舍入。但请记住,在我调用
toFixed
@Kousha之前,我调用了
Math.Round
,无论哪种方法,结果都是一样的。几天前,我在不同的编程语言中遇到了相同的问题。:)
var num = 67.475;
var round = (Math.round( num * 100 ) / 100).toFixed(2);
alert(round);