我想在JavaScript中将浮点数转换为整数。实际上,我想知道如何进行两种标准转换:通过截断和舍入。而且高效,而不是通过转换为字符串和解析。


当前回答

对于截断:

var intvalue = Math.floor(value);

对于圆形:

var intvalue = Math.round(value);

其他回答

比特移位0,等于除以1

// >> or >>>
2.0 >> 0; // 2
2.0 >>> 0; // 2

还有一种可能的方法-使用XOR运算:

console.log(12.3^0);//12console.log(“12.3”^0);//12console.log(1.2+1.3^0);//2.console.log(1.2+1.3*2^0);//3.console.log(-1.2^0);//-1.console.log(-1.2+1^0);//0console.log(-1.2-1.3^0);//-2.

按位运算的优先级低于数学运算的优先级,这很有用。试穿https://jsfiddle.net/au51uj3r/

如果您使用angularjs,那么简单的解决方案如下HTML模板绑定

{{val |编号:0}}

它会将val转换为整数

通过链接docs.angularjs.org/api/ng/filter/number

//将浮点数转换为整数数学楼层(5.95)//5数学ceil(5.95)//6数学舍入(5.4)//5数学舍入(5.5)//6数学截断(5.5)//5//快速方法console.log(5.95|0)控制台日志(~~5.95)控制台日志(5.95>>0)//5

对于截断:

var intvalue = Math.floor(value);

对于圆形:

var intvalue = Math.round(value);