【问题标题】:d3 custom number formattingd3 自定义数字格式
【发布时间】:2017-10-06 15:38:49
【问题描述】:

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

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

编辑#1:应该使用 d3,因为我使用的是一个图表库,它获取 d3 格式来处理轴的刻度之一

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

提前致谢。

【问题讨论】:

  • 不确定是否需要使用 d3,可以将数字转换为字符串,然后使用纯 javaScript 随意更改。
  • @sparta93 谢谢。我已经更新了问题

标签: d3.js locale number-formatting


【解决方案1】:

你需要做两件事:

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

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

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

查看以下 sn-p 以获取工作演示:

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>

【讨论】:

  • 很遗憾,我使用的 d3 版本不支持 formatLocale
猜你喜欢
  • 1970-01-01
  • 2012-12-12
  • 2010-10-18
  • 1970-01-01
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多