在D3.js(v5)中,您可以指定数字格式以每三位数添加一个逗号:
d3.format(',')(1000) // "1,000"
或者确保它不会:
d3.format('d')(1000) // "1000"
但是我只想在数字包含五个或更多数字时添加一个逗号,所以:
d3.format( ? )(1000) // 1000
d3.format( ? )(10000) // 10,000
缺少的格式说明符(?
)是什么?
答案 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>