相关疑难解决方法(0)

将数字截断为两位小数而不进行舍入

假设我的值为15.7784514,我希望将其显示为15.77而不进行舍入.

var num = parseFloat(15.7784514);
document.write(num.toFixed(1)+"<br />");
document.write(num.toFixed(2)+"<br />");
document.write(num.toFixed(3)+"<br />");
document.write(num.toFixed(10));
Run Code Online (Sandbox Code Playgroud)

结果是 -

15.8
15.78
15.778
15.7784514000 
Run Code Online (Sandbox Code Playgroud)

我如何显示15.77?

javascript

179
推荐指数
16
解决办法
23万
查看次数

Javascript toFixed功能

预期结果:

(1.175).toFixed(2) = 1.18 and
(5.175).toFixed(2) = 5.18
Run Code Online (Sandbox Code Playgroud)

但在JS中显示:

(1.175).toFixed(2) = 1.18 but 
*(5.175).toFixed(2) = 5.17*
Run Code Online (Sandbox Code Playgroud)

如何纠正这个问题?

javascript tofixed

13
推荐指数
2
解决办法
7163
查看次数

Math.round()和.toFixed()中的舍入问题

我用了两种方法:

Number.prototype.myRound = function (decimalPlaces) {
    var multiplier = Math.pow(10, decimalPlaces);

    return (Math.round(this * multiplier) / multiplier);
};
alert((239.525).myRound(2));
Run Code Online (Sandbox Code Playgroud)

数学警报应该是239.53它的239.52输出.所以我尝试使用.toFixed()功能&我得到了正确的答案.

但是,当我试图得到239.575它的答案再次给出错误的输出.

alert((239.575).toFixed(2));
Run Code Online (Sandbox Code Playgroud)

这里输出应该是239.58它的给予239.57.

此错误在最终输出中产生一点差异.所以有人可以帮我解决这个问题吗?

javascript jquery

6
推荐指数
2
解决办法
8594
查看次数

在数字文字上调用toFixed方法

当我在十进制数字文字上调用toFixed()方法时,如下所示:

var a = 67.678.toFixed(2);
console.log(a);
Run Code Online (Sandbox Code Playgroud)

结果有效并返回67.68

但是,如果我在整数上调用该方法 - 我会收到错误

var b = 67.toFixed(2);
console.log(b); // causes ERROR
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

注意:

如果我将整数保存到变量 - toFixed()方法确实有效.

var c = 67;
c = c.toFixed(2);
console.log(c); // returns 67.00
Run Code Online (Sandbox Code Playgroud)

看到这个jsBin

引擎盖下发生了什么?

javascript tofixed

2
推荐指数
1
解决办法
686
查看次数

标签 统计

javascript ×4

tofixed ×2

jquery ×1