Javascript 用负下限刻划线性标度

Javascript 用负下限刻划线性标度,javascript,d3.js,Javascript,D3.js,还这个 d3.scale.linear() .domain([-0.505, 1]) .nice() .domain(); 但我真正想要的是这个 [-0.6000000000000001, 1] 编辑: 如评论中所述,原因已在中解释 这个问题是关于在d3环境中获得所需结果的最佳方法。也许最好的方法就是简单地设置字符串格式。但是,我想看看是否有人对这种特殊情况有一种新的解决方案。尝试转换为具有固定精度的字符串并返回到数字: [-0.6, 1] 这就产生了 d3.scale.lin

还这个

d3.scale.linear()
  .domain([-0.505, 1])
  .nice()
  .domain();
但我真正想要的是这个

[-0.6000000000000001, 1]
编辑:

如评论中所述,原因已在中解释


这个问题是关于在d3环境中获得所需结果的最佳方法。也许最好的方法就是简单地设置字符串格式。但是,我想看看是否有人对这种特殊情况有一种新的解决方案。

尝试转换为具有固定精度的字符串并返回到数字:

[-0.6, 1]
这就产生了

d3.scale.linear()
  .domain([-0.505, 1])
  .nice()
  .domain()
  .map(function(val) { return +val.toFixed(10); });

这个问题的可能重复并不直接涉及数学,但原因/结果是相同的。(最接近于0.6的值为0.59999999999997780,但此值与报告的数字之间的增量无关。出于显示目的,请使用
number.toFixed
或类似的字符串格式来舍入微小的增量差异。)
[-0.6, 1]