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

如何实现数字千分位分隔符为点(而非逗号)的前端需求

千分位分隔符改为点的解决方案

修改后完整代码

HTML部分

<form>
    <label for="ticketNum">Your money</label>
    <input type="text" oninput="sepratornumberwithdot(this)" placeholder="123.456.789"/>
</form>

JavaScript方案一(利用区域本地化规则)

function sepratornumberwithdot(input) {
    // 清除输入中的点,避免重复分隔
    let nums = input.value.replace(/\./g, '');
    if (!nums) return;
    // 使用德语区域格式化规则,千分位默认用点分隔
    input.value = Number(nums).toLocaleString('de-DE');
}

JavaScript方案二(手动替换分隔符)

function sepratornumberwithdot(input) {
    let nums = input.value.replace(/\./g, '');
    if (!nums) return;
    // 先按默认规则生成逗号分隔的格式,再替换为点,同时保留整数格式
    input.value = Number(nums).toLocaleString('en-US', {
        maximumFractionDigits: 0
    }).replace(/,/g, '.');
}

修改说明

  1. 替换输入处理逻辑:原代码清除逗号,现在改为清除点,避免用户输入的点干扰千分位格式化
  2. 替换parseFloat为Number:处理大数时精度更可靠
  3. 两种方案任选:
    • 方案一直接利用现成的区域本地化规则,代码简洁
    • 方案二不依赖特定区域,兼容性和灵活性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:52:37