有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

js去掉小数点后面的0(JavaScript用Math.trunc()截断一个数的小数部分)

javascript 炮渣日记 2周前 (11-18) 13次浏览 已收录 0个评论 扫描二维码

1. 基本概念

Math.trunc()方法用于去掉它的参数的小数部分,而只返回整数部分;如果它的参数原本就是整数,那么结果就是该参数自身。它的语法形式如下所示:

Math.trunc(x);

如果你传递的参数x不是Number类型(即数字类型)的,那么它会被自动转换为Number类型。

trunc是单词truncate的缩写,而truncate正是截断的意思;Math.trunc()方法的名称就已暗含了它的作用。

由于JavaScript数字类型的特殊性,Math.trunc()的返回值由以下规则详细决定。这些规则中提到的x的值指的是x转换为数字后的值,如果它之前不属于数字类型的话。

1. 如果x是NaN,那么结果也是NaN;

2. 如果x是-0,那么结果也是-0;

3. 如果x是+0,那么结果也是+0;

4. 如果x是正无穷(+Infinity),那么结果就是正无穷(+Infinity);

5. 如果x是负无穷(-Infinity),那么结果就是负无穷(-Infinity);

6. 如果x大于0但小于1,那么结果将是+0;

7. 如果x小于0但大于-1,那么结果将是-0;

8. 其余情况,结果就是x的整数部分;如果x本身就是整数,那么结果就是x自身。

对于正数,我们通常不显示它的正号。所以,在JavaScript中+0和+Infinity直接显示为0和Infinity。

2. 示例

<script>
    /* 参数是Number类型的情况 */
    var value1 = Math.trunc(NaN);
    console.log("Math.trunc(NaN):");
    console.log(value1);

    var value2 = Math.trunc(3.14);
    console.log("nMath.trunc(3.14):");
    console.log(value2);

    var value3 = Math.trunc(-17.3);
    console.log("nMath.trunc(-17.3):");
    console.log(value3);

    var value4 = Math.trunc(0.46);
    console.log("nMath.trunc(0.46):");
    console.log(value4);

    var value5 = Math.trunc(-0.28);
    console.log("nMath.trunc(-0.28):");
    console.log(value5);

    var value6 = Math.trunc(20);
    console.log("nMath.trunc(20):");
    console.log(value6);

    /* 参数不是Number类型的情况:
     * 字符串"91.86"转换成数字为91.86;
     * 布尔值true转换成数字为1;
     * window对象转换成数字为NaN。
     */
    var value7 = Math.trunc("91.86");
    console.log('nMath.trunc("91.86"):');
    console.log(value7);

    var value8 = Math.trunc(true);
    console.log("nMath.trunc(true):");
    console.log(value8);

    var value9 = Math.trunc(window);
    console.log("nMath.trunc(window):");
    console.log(value9);
</script>
js去掉小数点后面的0(JavaScript用Math.trunc()截断一个数的小数部分)

图1 Math.trunc()方法的执行结果

喜欢 (0)
炮渣日记
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址