javascript将数字四舍五入到小数点后两位

时间:2018-08-16 16:28:00

标签: javascript

有人可以让我知道如何在javascript中实现这种舍入吗?

95.123 => 95.13
95.120 => 95.12
95.129 => 95.13
124.121 => 124.13

感谢您的帮助。

A

2 个答案:

答案 0 :(得分:1)

使用Math.ceil(num * 100) / 100

console.log(Math.ceil(95.123 * 100) / 100);
console.log(Math.ceil(95.120 * 100) / 100);
console.log(Math.ceil(95.129 * 100) / 100);
console.log(Math.ceil(124.121 * 100) / 100);

答案 1 :(得分:0)

一种快速简便的方法是乘以100,取整并除以100。

let value = 95.123;
let rounded = Math.round(value * 100) / 100;

另一种选择是使用Number.toFixed()(此处要小心,因为toFixed()返回的是字符串,而不是数字)。

let value = 95.123;
let rounded = Number((value).toFixed(2));

更花哨的方法是使用指数表示法。

let value = 95.123;
let rounded = Number(Math.round(value+'e2')+'e-2');

可以将其重构为辅助函数以处理不同的十进制值。

function roundToDec(value, decimals) {
  let posExp = 'e' + decimals;
  let negExp = 'e-' + decimals;
  return Number(Math.round(value + posExp) + negExp);
}

let value = 95.123;
let rounded = roundToDec(value, 2);