【问题标题】:is there way to add comma to the thousand digits in numbers? [duplicate]有没有办法在千位数字中添加逗号? [复制]
【发布时间】:2020-05-28 23:49:10
【问题描述】:

有没有办法在千位数字中添加逗号?

例如,如果我有 12345,那么我只想要 12,345 如果我有 3215579 所以我只想要 3,215,579 在我的代码中:

{TOTAL.toFixed(0).toLocaleString()}

但它给我的只是数字,里面没有逗号,我不明白出了什么问题。

【问题讨论】:

  • 避免在单个线程中请求不同的东西,更糟糕的是,在此过程中切换方向。接受对修剪小数部分最有帮助的答案,然后继续处理与数字格式相关的另一个问题。

标签: javascript


【解决方案1】:

你可以使用...

  • Math.trunc()(截断小数部分,见下文)
  • Math.floor()(向下取整)
  • Math.ceil()(向上取整)
  • Math.round()(四舍五入到最接近的整数)
  • ...取决于您希望如何去除小数。

目前并非所有平台(即 IE)都支持 Math.trunc(),但同时您可以轻松使用 polyfill。

另一种截断小数部分并具有出色平台支持的方法是使用按位运算符(例如 |0)。对数字使用按位运算符的副作用是将其操作数视为带符号的 32 位整数,因此会删除小数部分。请记住,这也会破坏大于 32 位的数字。

【讨论】:

    【解决方案2】:

    您可以使用 Math.trunc()。这也是最好的方法。 :)

    let a= 123.45 
    console.log(Math.trunc(a)) // 123
    
    let b = 3215.579
    console.log(Math.trunc(b)) // 3215

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

    【讨论】:

      【解决方案3】:

      最好的办法是使用javascript函数toFixed。

      假设你有let a = 123.45;

      let b = a.toFixed(0) // will print out 123
      

      要将其转换为逗号分隔的千位,

      b.toLocaleString()
      

      就是这样

      您可以在此处查看文档:mdn - javascript

      希望对您有所帮助。如有疑问,请随意

      【讨论】:

      • 我如何在千位中添加逗号?如果我有 45678 所以我需要更改 45,678 如果我有 67432114 所以 67,432,114
      • 现在你只需要做,b.toLocaleString()。 ,就是这样
      • @miraclark : 通过 SO 快速搜索会找到 answer
      • toLocaleString() 对我不起作用。我做 {TOTAL.toLocaleString().toLocaleString()} 它只是给我没有逗号的数字。
      猜你喜欢
      • 2010-09-11
      • 2015-12-11
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多