Math.trunc()

该特性处于 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

相关链接

文档标签和贡献者

 此页面的贡献者: ziyunfei, tiansh, teoli
 最后编辑者: ziyunfei,