我正在使用 d3 为文本设置动画,以显示用户完成任务的进度。例如,如果他们完成了 32.51% 的任务,文本将在 2 秒左右的时间内从 0% 变为 32.51%。
为此,我在 svg 文本元素上使用 d3 的 attrTween 方法以及 d3.interpolate。插值效果很好,但我在格式化文本时遇到了一些麻烦。我希望文本始终显示 4 位数字,因此 0% = 00.00%、4.31% = 04.31% 等。能够做到这一点而不必对插值器返回的内容进行后期处理会很好。换句话说,无需获取返回的百分比并检查是否有 4 位数字并在将其放入 DOM 之前在任一侧添加零填充。
作为测试,我尝试通过将 a 和 b 值设置为插值器来指定我想要的格式d3.interpolate("00.00", "30.00")
,但最终文本是“30”,尾随零被切断。
有什么建议么?