【问题标题】:How to add point to input type number when numbers are on thousand当数字为千时如何为输入类型数字添加点
【发布时间】:2021-07-21 21:41:09
【问题描述】:

我有一个输入来定义产品的最低和最高价格。 当我写 10.000 时,似乎有 10000。所以,我想自动将点添加到数字并显示为 10.000。

我试过这些:

<input type="number" step="0.01">
<input type="number" step=".01">
<input type="number" step="any">

但它们根本不起作用。

【问题讨论】:

  • 所以你总是希望值保留 3 位小数?
  • 没关系。 1.000、10.000、100.000。

标签: javascript html css attributes numbers


【解决方案1】:

这是一个使用强制数字输入的文本字段的选项

window.addEventListener('DOMContentLoaded', () => {
  document.querySelectorAll('input.numeric').forEach(el => el.addEventListener('input', e => {
    let n = e.target.value.replaceAll(/[^0-9]/g, '').replace(/\B(?=(\d{3})+(?!\d))/g, ".")
    e.target.value = n;
  }))
})
&lt;input type="text" class='numeric'&gt;

【讨论】:

    【解决方案2】:

    希望这会有所帮助。

    document.querySelector("input")
    .addEventListener("change", e => {
      e.target.value = parseFloat(e.target.value)
          .toFixed(3);
    });
    &lt;input type="number" value="0.000" step="0.001"&gt;

    【讨论】:

    • 老兄,我要几千。我的意思是,我想展示 1000 个,比如 1.000
    • 从您的问题中不清楚您想要什么。查看此内容以屏蔽输入字段以获得所需的外观stackoverflow.com/questions/31867551/…,您会注意到他们使用.toLocaleString("en"),您将改为使用.toLocaleString('de-DE')
    猜你喜欢
    • 1970-01-01
    • 2022-12-03
    • 2015-03-12
    • 1970-01-01
    • 2015-10-30
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多