gpt4 book ai didi

javascript - 添加逗号或空格以每三位数字分组

转载 作者:IT王子 更新时间:2023-10-29 03:09:01 28 4
gpt4 key购买 nike

我有一个给数字添加逗号的函数:

function commafy( num ) {
num.toString().replace( /\B(?=(?:\d{3})+)$/g, "," );
}

不幸的是,它不太喜欢小数。鉴于以下使用示例,扩展我的功能的最佳方法是什么?

commafy( "123" )                 // "123"
commafy( "1234" ) // "1234"
// Don't add commas until 5 integer digits
commafy( "12345" ) // "12,345"
commafy( "1234567" ) // "1,234,567"
commafy( "12345.2" ) // "12,345.2"
commafy( "12345.6789" ) // "12,345.6789"
// Again, nothing until 5
commafy( ".123456" ) // ".123 456"
// Group with spaces (no leading digit)
commafy( "12345.6789012345678" ) // "12,345.678 901 234 567 8"

大概最简单的方法是先在小数点上拆分(如果有的话)。从那里去哪里最好?

最佳答案

只需用“.”分成两部分并单独格式化它们。

function commafy( num ) {
var str = num.toString().split('.');
if (str[0].length >= 5) {
str[0] = str[0].replace(/(\d)(?=(\d{3})+$)/g, '$1,');
}
if (str[1] && str[1].length >= 5) {
str[1] = str[1].replace(/(\d{3})/g, '$1 ');
}
return str.join('.');
}

关于javascript - 添加逗号或空格以每三位数字分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6784894/

28 4 0
文章推荐: javascript - Vue.js 在@change 上获取选定的选项
文章推荐: database - Gorm 只返回一个而不是多个结果
文章推荐: go - 从 golang 代码向 Google Drive API 发送文件产生错误 : Unsupported content with type: image/jpeg
文章推荐: javascript - HTML