【问题标题】:Remove values after decimal TypeScript or JavaScript [duplicate]删除十进制 TypeScript 或 JavaScript 后的值 [重复]
【发布时间】:2019-01-04 22:14:54
【问题描述】:

伙计们,我正在做一个原生脚本项目

我正在使用 API,作为响应,我正在获取餐厅的评分。点赞[3.75, 3.57, 4.6]

我想要做的是,删除小数点后的值,无论它的精度是 1 还是 2 或任何

目前我正在尝试

parseFloat(3.75).toFixed(2)

但我收到的是3.75

知道如何解决吗?

var v = parseFloat(3.75).toFixed(2);
console.log(v);

【问题讨论】:

  • 你想让 3.75 变成“3”还是“4”?这里的答案似乎假设您不希望它四舍五入。

标签: javascript typescript


【解决方案1】:

如果您不想要小数点后的任何数字,可以使用 Javascript 使用 Math.trunc(3.75)

“Math.trunc() 函数通过删除任何小数位返回数字的整数部分。”

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc

编辑:如果您确实希望能够灵活地设置小数点后的位数,您可以执行他们在此处讨论的操作,允许您选择小数点后的位数:Truncate (not round off) decimal numbers in javascript

【讨论】:

    【解决方案2】:

    toFixed(2) => 仅用于保持点后的小数位数。

    通过使用parseInt

    var result = [3.75, 3.57, 4.6];
    
    result = result.map(val=>parseInt(val));
    
    console.log(result);

    通过使用split 和字符串,但它会将数组的每个值转换为字符串。

    var result = [3.75, 3.57, 4.6];
    
    result = result.map(val=>(val+"").split(".")[0]);
    
    console.log(result);

    【讨论】:

      【解决方案3】:

      只需使用parseInt():

      var v = parseInt(3.75);
      console.log(v);

      或者另一种方法是使用Math.trunc()

       var v = Math.trunc(3.75);
       console.log(v);

      如果您希望将数字四舍五入为大于或等于给定数字的最小整数。你可以使用Math.ceil()

      var v = Math.ceil(3.75);
      console.log(v);

      如果您希望将数字四舍五入为小于或等于给定数字的最大整数。您可以使用Math.floor()

      var v = Math.floor(3.75);
      console.log(v);

      【讨论】:

        猜你喜欢
        • 2011-01-07
        • 1970-01-01
        • 1970-01-01
        • 2019-03-02
        • 1970-01-01
        • 2015-03-10
        • 1970-01-01
        • 2021-02-05
        • 2013-04-21
        相关资源
        最近更新 更多