代码之家  ›  专栏  ›  技术社区  ›  peter flanagan

在React输入中使用TOLOCALSTRING的问题

  •  1
  • peter flanagan  · 技术社区  · 6 年前

    . (十进制)不起作用。它最多只能显示2个小数位。

    2000000 它将被格式化为 2,000,000 这是正确的。问题是,如果我还想加分钱,我是做不到的。那就这么办吧 2000.50 是不可能的。这应该是 2,000.50

    有一个 codesandbox here 供参考。如果您尝试在那里输入一个带小数的数字,可能会更清楚。

    我的代码如下:

    function Input() {
      const [value, setValue] = React.useState("");
    
      const formatValue = value => {
        return setValue(value.replace(/,/g, ""));
      };
    
      return (
        <input
          type="text"
          value={Number(value).toLocaleString()}
          onChange={e => formatValue(e.target.value)}
        />
      );
    }
    
    0 回复  |  直到 6 年前