【问题标题】:d3.format SI Prefix - lowercase lettersd3.format SI 前缀 - 小写字母
【发布时间】:2024-01-21 14:46:02
【问题描述】:

我在整个大型 d3.js 仪表板项目中使用出色的 d3.format 来标准化格式。

我的两个度量使用 SI 前缀:

   var my_format = d3.format(".2s");
   var my_format2 = d3.format(".3s");

客户想要显示一个小写的 M 表示百万。我可以在图表级别的代码中清楚地解决这个问题,但我想知道是否有人有更好的解决方案?

【问题讨论】:

标签: javascript d3.js formatting


【解决方案1】:

首先,耐心地向您的客户解释 SI 前缀是什么意思,小写的 m 代表其他东西...

当他们说他们不在乎时,这样做:

var customGenerator = (f) => (n) => n > 999999 && n < 1000000000 ? d3.format(f)(n).toLowerCase() : d3.format(f)(n);

并用作:

var my_format = customGenerator(".2s");
var my_format2 = customGenerator(".3s");

【讨论】:

  • 非常感谢马克。我已经尝试过选项 A。如果他们坚持下去,我非常感谢您的回答。