You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Antd Progress组件进度文本精度设置问题求助

解决Ant Design Progress组件进度文本小数位过多的问题

问题根源在于JavaScript浮点数运算的精度误差,比如totalLearned / 200 * 100这类计算可能会得出7.000000000000001这类带冗余小数位的结果,即便设置了precision属性,组件也可能因为原始数值的精度问题显示异常。

直接手动处理计算结果的精度即可,以下是两种可行方案:

方案1:取整显示(保留0位小数)

用Math.round()对计算结果直接取整:

<Progress
  percent={Math.round(totalLearned / 200 * 100)}
  precision={0}
  strokeColor={{
    '0%': '#dddd1b',
    '200%': '#52c41a',
  }}
/>

方案2:保留指定小数位(示例为1位)

用toFixed()格式化后转成数字再传入组件:

<Progress
  percent={Number((totalLearned / 200 * 100).toFixed(1))}
  precision={1}
  strokeColor={{
    '0%': '#dddd1b',
    '200%': '#52c41a',
  }}
/>

处理后传入percent的数值精度符合预期,组件的进度文本就能正常显示了。

内容的提问来源于stack exchange,提问作者u4ii4y984484y203r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 13:50:03