Javascript 总是四舍五入到 X 个小数位

Jan*_*ney 1 javascript

我需要编写一个始终向上舍入的函数,但将向上舍入到 0、1 或 2 个小数位,具体取决于函数是否传递了 0、1 或 2。

例子...

四舍五入到 0 位小数:13.4178 = 14

四舍五入到小数点后一位:13.4178 = 13.5

四舍五入到小数点后两位:13.4178 = 13.42

我发现Math.ceil但这只会四舍五入到一个整数,并且to fixed()会向上或向下四舍五入,而不仅仅是向上。有没有办法按照我上面描述的方式进行汇总?

Nin*_*olz 7

您可以使用一个因子与十和所需十进制数的幂相乘,然后对其进行四舍五入并调整点。

function up(v, n) {
    return Math.ceil(v * Math.pow(10, n)) / Math.pow(10, n);
}

console.log(up(13.4178, 0));
console.log(up(13.4178, 1));
console.log(up(13.4178, 2));
Run Code Online (Sandbox Code Playgroud)