我尝试使用d3.js格式化但我很难将数字转换为只能转换到一个小数位。
请参阅下面的示例;
http://plnkr.co/edit/bEpl8wbA3kzsyakGNJZR?p=preview
在整个过渡期间以及最后,我希望它只能到一个小数位,所以在我的例子结尾处应该显示4.4而不是4.4162。
这是我的代码;
var formatPercent = d3.format("1r");
var start_val = 0;
var data = 4.4162
d3.selectAll(".textTransition")
.append("div")
.text(start_val)
.attr("class", "percentage")
.transition()
.duration(1200)
.tween(".percentage", function(d) {
var i = d3.interpolate(0, data);
return function(t) {
d3.select(this).text(formatPercent(i(t)));
};
});
我正在使用d3 v3 btw。
希望有人可以提供帮助!
由于
答案 0 :(得分:2)
您可以通过更改行
来完成此操作PSModulePath
到
d3.select(this).text(formatPercent(i(t)));
以下
d3.select(this).text(parseFloat(formatPercent(i(t))).toFixed(1));
做出改变。
答案 1 :(得分:0)
var roundedData = (Math.round(data * 10))/10;
将小数点移动一个位置,然后对其进行舍入,然后将小数位移回原位。
这有帮助吗?