在D3.js中,如何仅在5位以上的数字上添加逗号?

时间:2018-10-25 13:51:57

标签: d3.js

在D3.js(v5)中,您可以指定数字格式以每三位数添加一个逗号:

d3.format(',')(1000) // "1,000"

或者确保它不会:

d3.format('d')(1000) // "1000"

但是我只想在数字包含五个或更多数字时添加一个逗号,所以:

d3.format( ? )(1000)  // 1000
d3.format( ? )(10000) // 10,000

缺少的格式说明符(?)是什么?

1 个答案:

答案 0 :(得分:5)

我只是保持简单,并将逻辑包装在您自己的函数中:

function myFormatter(d){
	return (""+d).length > 4 ? d3.format(',')(d) : d3.format('d')(d);
}

console.log(myFormatter(1000), myFormatter(10000))
<script src="https://d3js.org/d3.v5.min.js"></script>