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

如何阻止Prettier ESLint格式化时自动将代码中的0.00转换为0.0

问题原因

你遇到的0.00被自动转为0.0的行为是Prettier的默认数值字面量格式化逻辑,它会自动移除数值末尾无意义的后缀0,Prettier官方没有提供全局配置项直接关闭该行为。
你当前的ESLint配置中引入了plugin:prettier/recommended,会将Prettier的规则优先级设为最高,所以修改其他ESLint的数值相关规则无法解决该问题,可通过以下方案处理:

可选解决方案
  • 方案1:局部忽略Prettier格式化(最轻量化,仅影响当前行)
    在需要保留0.00的代码行上方添加// prettier-ignore注释即可,修改后的代码如下:
export const ComponentA = ({ validate, isRequired }) => (
  <ComponentB
    validate={validate}
    required={isRequired}
    // prettier-ignore
    value={0.00}
  />
);
  • 方案2:改为字符串类型传值
    如果value属性支持字符串输入,或者你可以在接收组件ComponentB内部做数值转换,直接传字符串"0.00"可以从根源避免数值格式被截断,更适合需要严格保留两位小数显示的表单类场景:
<ComponentB
  validate={validate}
  required={isRequired}
  value="0.00"
/>
  • 方案3:全局适配(适合大量同类场景)
    如果项目中有大量需要保留固定小数位的需求,可以安装支持数值精度保留的第三方Prettier插件,配置对应的规则后即可全局生效,不需要重复添加忽略注释。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:15:03