该特性处于 ECMAScript 6 规范草案中,目前的实现在未来可能会发生微调,请谨慎使用。
概述
Math.trunc()
方法会将数字的小数部分去掉,只留整数部分。
语法
Math.trunc(value)
参数
value
- 任意数字
描述
trunc()
和 Math
的其他几个方法 floor()、
ceil()
、round()
不同,trunc()
的执行逻辑很简单,仅仅是删除掉数字的小数部分和小数点,不管是正数还是负数。
因此,在参数是正数的情况下,trunc()
的执行效果等同于 floor()。
而在参数是负数的情况下,trunc()
的执行效果等同于 ceil()
。
注意,传入该方法的参数首先会被自动转换成数字类型。
示例
Math.trunc(13.37) // 13 Math.trunc(42.84) // 42 Math.trunc(0.123) // 0 Math.trunc(-0.123) // -0 Math.trunc("-1.123") // -1 Math.trunc(NaN) // NaN Math.trunc("foo") // NaN Math.trunc() // NaN
Polyfill
Math.trunc = Math.trunc || function(value) { return value < 0 ? Math.ceil(value) : Math.floor(value); }
规范
规范名称 | 规范状态 | 备注 |
---|---|---|
ECMAScript 6 (ECMA-262) Math.trunc |
Release Candidate |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 38 | 25 (25) | 未实现 | 25 | 7.1 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 未实现 | 未实现 | 25.0 (25) | 未实现 | 未实现 | iOS 8 |