D3.js d3.1格式";无”;输入不舍入

D3.js d3.1格式";无”;输入不舍入,d3.js,number-formatting,D3.js,Number Formatting,声明(none)格式类型的工作方式“类似于g,但会修剪不重要的尾随零”。g格式类型使用“十进制或指数表示法,四舍五入到有效数字。” Mike Bostock指出,“none格式类型会修剪尾随的零,但精度会被解释为有效数字,而不是超过小数点的位数。” 如果我使用d3.format('.2')(2.0),我会得到2(后面的零会被删除) 但是当我使用d3.format('.2')(2.001)时,结果是2.001:没有舍入。我希望结果是2.0(四舍五入到两个有效数字,但保持零),或者2(四舍五入到两个

声明(none)格式类型的工作方式“类似于
g
,但会修剪不重要的尾随零”。
g
格式类型使用“十进制或指数表示法,四舍五入到有效数字。”

Mike Bostock指出,“none格式类型会修剪尾随的零,但精度会被解释为有效数字,而不是超过小数点的位数。”

如果我使用
d3.format('.2')(2.0)
,我会得到
2
(后面的零会被删除)

但是当我使用
d3.format('.2')(2.001)
时,结果是
2.001
:没有舍入。我希望结果是
2.0
(四舍五入到两个有效数字,但保持零),或者
2
(四舍五入到两个有效数字,然后舍去零)


这是一个错误,还是我误解了语法?

这是因为我使用的是旧版本的d3(3.5.17,当前版本的plot.ly 1.27.1附带)


在该版本的d3中,(无)格式类型。它是在2015年推出的。

嘿,你搞错了,请正确阅读你使用的
d3.format('.2')(2.001)
但你提到的是任何类型,
d3.format('.1f')(2.001)
这就是你要找的,这里
.1f
表示直到1精度的固定位置。要将值舍入到1精度,请使用此
d3.format('0.1fd')
这将
d3.format('0.1fd')(2.981)
然后得到3。0@saikiran.vsk:谢谢你的评论。我的问题是关于
(none)
类型(您链接到的文档中可用类型列表中的最后一个条目),它应该舍入数字并省略后面的零。
.1f
类型没有省略尾随的零。@Jake我不知道,你是怎么得到结果的。。。对于我来说,
d3.format('.2')(2.001)
返回
“2”
,这是预期的行为:四舍五入到两个有效数字(2.0)并去掉尾随的零。@Jake由于问题不再存在,我建议您删除该问题,或者最好写一个解释版本不匹配的自我回答。我认为这对像你这样的人来说真的是一个很大的帮助,因为他们在这个阴谋中跌跌撞撞。