HOWTO · JavaScript

在 JavaScript 中格式化小数

本文将帮助你了解如何使用 JavaScript 格式化小数。

本页内容

本文将研究如何使用 JavaScript 格式化小数位数。

要在 JavaScript 中用逗号和小数位格式化数字,我们可以使用 Math.round()split() 到指定的数字。我们可以使用 toFixed()toString()toLocaleString() 方法来格式化十进制数。

使用 toString() 方法在 JavaScript 中格式化小数

JavaScript 的 toString() 方法将数字转换为字符串并返回表示指定 Number 对象的字符串。

<!DOCTYPE html>
<html>
  <body>
    <script>
      var numb = 45342.764;

      var valu = Math.round(Number(numb) * 100) / 100;

      var pts = valu.toString().split(".");

      var num =
        pts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") +
        (pts[1] ? "." + pts[1] : "");

      console.log(num);
    </script>
  </body>
</html>

运行代码

.split() 函数将特定位置的字符串片段转换为数组组件,然后将其合并回以逗号分隔的系列。

输出:

"45,342.76"

你甚至可以通过创建一个函数来使用 toString() 方法。

 <script>
    var numb = 45342.76;
    function numbCommas(x) {
      return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    }
    console.log(numbCommas(numb));
 </script>

运行代码

输出:

"45,342.76"

使用 toFixed() 方法在 JavaScript 中格式化小数

JavaScript 中的 toFixed() 方法格式化一个带两位小数的数字。toFixed() 方法使用小数点右侧的指定位数格式化数字。

它输出具有正确小数位数但不使用科学记数法的数字的字符串表示形式。

<script>
  var number1 = 45342.764; document.write("number1 is : " + number1.toFixed(2));
  document.write("
  <br /> ");
</script>

运行代码

输出:

number1 is: 45342.76

使用 toLocaleString() 方法在 JavaScript 中格式化小数

同样,我们可以使用 toLocaleString() 方法用逗号分隔十进制数,这对于不同的地方是不同的。就像 en-US 在每 3 个位置用逗号分隔数字,而 hi-IN 在前 3 个位置分隔,然后在每 2 个位置分隔。

let decNum = 4534289.764;

console.log(decNum.toLocaleString('en-US'));

console.log(decNum.toLocaleString('hi-IN'));

运行代码

输出:

"4,534,289.764"
"45,34,289.764"