从数字中删除无关紧要的尾随零?

2022-08-30 00:49:42

我是否错过了从数字中删除尾随的无关紧要的零的标准 API 调用?

var x = 1.234000; // to become 1.234
var y = 1.234001; // stays 1.234001

Number.toFixed()并且不是我想要的。Number.toPrecision()


答案 1

我有一个类似的实例,我想在必要时使用,但我不想在不需要填充时使用填充。所以我最终将parseFloat与toFixed结合使用。.toFixed()

不带填充的 toFixed

parseFloat(n.toFixed(4));

另一个几乎相同的选择
这个答案可能有助于你的决定

Number(n.toFixed(4));

toFixed将数字舍入/填充到特定长度,但也将其转换为字符串。将其转换回数字类型不仅会使数字在算术上使用更安全,而且还会自动删除任何尾随的0。例如:

var n = "1.234000";
    n = parseFloat(n);
 // n is 1.234 and in number form

因为即使您定义了一个带有尾随零的数字,它们也会被删除。

var n = 1.23000;
 // n == 1.23;

答案 2

如果将其转换为字符串,则不会显示任何尾随零,这些尾随零首先不会存储在变量中,因为它是作为数字而不是字符串创建的。

var n = 1.245000
var noZeroes = n.toString() // "1.245"