我是否错过了一个标准API调用,该调用从一个数字中移除尾随的不重要的零?

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

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


当前回答

对于非常小的数,这些解都不适用。http://numeraljs.com/为我解决了这个问题。

parseFloat(0.00000001.toFixed(8));
// 1e-8

numeral(0.00000001).format('0[.][00000000]');
// "0.00000001"

其他回答

对于非常小的数,这些解都不适用。http://numeraljs.com/为我解决了这个问题。

parseFloat(0.00000001.toFixed(8));
// 1e-8

numeral(0.00000001).format('0[.][00000000]');
// "0.00000001"

你可以试试这个来缩小浮点数

var n = 0.0000;
n = parseFloat(n.toString()); 

//output n = 0; 
// n = 3.14000; --> n = 3.14;

使用parseFloat()实现了这个目的。我不明白为什么这些复杂的解。

所以你想

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

没有附加条件,只需尝试Number()。

Var x = 1.234000, //变成1.234 Y = 1.234001, //保持1.234001 x_ =数字(x), y_ =数字(y); y_ console.log(间);

如果将它转换为字符串,它将不会显示任何尾随零,因为它是作为数字而不是字符串创建的,所以后面的零就不会存储在变量中。

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