javascript - 在 JavaScript 中添加逗号函数太贪心了

标签 javascript regex

我如何修改下面的函数,让它在我们点击小数点后停止添加逗号?

addCommas = function(number) {
    if(number === undefined) {
        return '';
    }

    while(/(\d+)(\d{3})/.test(number.toString())) {
        number = number.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2');
    }

    return number;
}

addCommas(0.123456); // Outputs 0.123,456, should output 0.123456

最佳答案

我的方法是把数字分成小数部分和整数部分...

addCommas = function(number) 
{
    if (number === undefined)
        return '';
    var parts = number.toString().split(".");
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    return parts.join(".");
}

document.write( addCommas(0.123456) + "<br />" );
document.write( addCommas(123456.123456) + "<br />" );
document.write( addCommas(123456) + "<br />" );

关于javascript - 在 JavaScript 中添加逗号函数太贪心了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26764850/

相关文章:

python - 查找两个或多个以 upper 开头的连续单词并替换为它们的缩写(正则表达式)

python - 匹配结束 HTML 标签的正则表达式

regex - Perl 正则表达式 : replace all backslashes with double-backslashes

javascript - 为什么一个包的依赖关系会影响另一个包

javascript 在给定的时间间隔轮询

regex - Grep中有真正通用的通配符吗? [复制]

javascript - 使用正则表达式提取值

javascript - 让 PHP 根据用户选择上传的数量来抓取所有文件

javascript - React-loadable 仅从相对路径获取 block

javascript - JavaScript 中的方法链接失败