d3 自定义数字格式

d3 custom number formatting

如何 select 使用 d3 自定义千位和小数点分隔符? 即,输入号码为221343.455。输出应该是 221 343,455

这似乎并不简单,因为有这个选项可以选择逗号是否应该作为分隔符。

编辑 #1:应该使用 d3,因为我使用的图表库采用 d3 格式来处理其中一个轴的刻度

编辑 #2:我绑定到 d3 的这个版本 v3.5.0

提前致谢。

你需要两件事才能工作:

  1. 自定义locale object设置分组和小数分隔符:

    var locale = d3.formatLocale({
      decimal: ",",
      thousands: " ",
      grouping: [3]
    });
    
  2. A format specifier 使用这些分隔符:

    var format = locale.format(",.3f");
    

查看以下代码片段以了解工作演示:

var locale = d3.formatLocale({
  decimal: ",",
  thousands: " ",
  grouping: [3]
});

var format = locale.format(",.3f");

console.log(format(221343.455));   // 221 343,455
<script src="https://d3js.org/d3.v4.js"></script>