📜  javascript snumber 两位小数作为字符串 - Javascript (1)

📅  最后修改于: 2023-12-03 15:31:38.481000             🧑  作者: Mango

JavaScript 保留两位小数作为字符串

在很多情况下,我们需要将 JavaScript 数值转换为字符串并保留两位小数。本文将介绍如何实现这一功能。

使用 toFixed() 方法

JavaScript 中的 Number 类型有一个内置方法叫做 toFixed()。该方法接受一个整数参数 n,表示要保留的小数位数。toFixed() 方法将数值四舍五入到最接近的 n 位小数,并返回一个字符串表示。

const num = 3.1415926;
const str = num.toFixed(2);
console.log(str); // "3.14"

注意,toFixed() 方法返回的是一个字符串类型,而不是数值类型。因此,我们可以直接将其用于字符串拼接等操作。

自定义函数实现

如果不想使用内置方法,我们也可以自定义一个函数实现保留两位小数的功能。

function round(num, decimalPlaces) {
  const factor = Math.pow(10, decimalPlaces);
  return Math.round(num * factor) / factor;
}

const num = 3.1415926;
const str = round(num, 2).toString();
console.log(str); // "3.14"

上述代码中,我们编写了一个 round() 函数,它接受两个参数:需要保留两位小数的数值和小数位数。该函数使用 Math.pow() 方法计算出 10 的 n 次方,然后将数值乘以该因子,最后使用 Math.round() 方法进行四舍五入。

注意事项

在对 JavaScript 数值进行加减乘除操作时,由于浮点数计算的精度问题,有些运算结果可能会出现远超预期的小数位数。如果需要保留精确的小数位数,可以使用第三方库如 decimal.js 代替内置的 JavaScript 数值类型。