Javascript js中的整数

Javascript js中的整数,javascript,Javascript,我想把45.19202405202648四舍五入到小数点后3位 我试过: n.toFixed(3); 也 及 但这些解决方案返回的是45.1919999999,而不是45.192 编辑:真正的问题是如果我做65.19202405202648.toFixed3-20我得到45.1919999999 感谢您的帮助javascript中有一个名为toFixed的函数。这将返回一个小数位数固定的数字。这将在90%的时间内实现圆整,但有时圆整并不完美。如果没有外部库,就无法完美地循环。例如,您可以这样做

我想把45.19202405202648四舍五入到小数点后3位

我试过:

n.toFixed(3);

但这些解决方案返回的是45.1919999999,而不是45.192

编辑:真正的问题是如果我做65.19202405202648.toFixed3-20我得到45.1919999999


感谢您的帮助

javascript中有一个名为toFixed的函数。这将返回一个小数位数固定的数字。这将在90%的时间内实现圆整,但有时圆整并不完美。如果没有外部库,就无法完美地循环。例如,您可以这样做:

n.toFixed(3);
我看你已经试过了,应该可以用了。请尝试再次运行,或在受控环境中运行

试试这个:

let num = 45.19202405202648;
console.log(num.toFixed(3));

听起来你有两件事要做。首先是取整部分,它似乎按照预期工作。第二个问题是浮点数并不总是很好地映射到易于阅读的字符串。因此,要将其转换为漂亮的字符串,可以使用:

var roundedNum=Math.roundnum*1000/1000; var displayString=roundedNum.toFixed3


您需要同时舍入和使用.toFixed来获得预期的结果。

您的算术协处理器有缺陷。尝试另一台计算机。

x-要四舍五入的数字;n—小数位数

    function roundPlus(x, n) {
        if (isNaN(x) || isNaN(n)) return false;
        var m = Math.pow(10, n);
        return Math.round(x * m) / m;
    };

你试过了,你得到了一个结果,这有什么问题吗?剧透警报向我们展示使用toFixed的代码。例如,Number45.19202405202648.toFixed3给出45.192作为一个数字;如果你只需要字符串,就放弃数字。。。如果你将一个数字四舍五入为一个数字,它将四舍五入为基于普通浮点精度的最接近的近似值。这意味着,如果将其表示为字符串,则它可能处于关闭状态。一点。似乎您想将其格式化以显示:number.toLocalString'en',{maximumSignificantDigits:3}将提供帮助。我已在OP中添加了一些演示。请更新它以显示您遇到的问题。谢谢!听起来你需要更多的百万像素
let num = 45.19202405202648;
console.log(num.toFixed(3));
    function roundPlus(x, n) {
        if (isNaN(x) || isNaN(n)) return false;
        var m = Math.pow(10, n);
        return Math.round(x * m) / m;
    };