JavaScript 标准金额格式化函数
以下是一个简单的实现:/n/njavascript/nfunction formatMoney(str) {/n // 去除首尾空格/n str = str.trim();/n // 判断是否以数字开头/n if (!/^/d/.test(str)) {/n return str;/n }/n // 判断是否包含多个小数点/n if ((str.match(//./g) || []).length > 1) {/n return str;/n }/n // 将字符串转换为数字/n var num = parseFloat(str);/n // 判断是否为NaN/n if (isNaN(num)) {/n return str;/n }/n // 转换为标准金额格式/n var money = num.toFixed(2).replace(///d(?=(//d{3})+//.)/g, '$&,');/n return money;/n}/n/n// 示例/nconsole.log(formatMoney('1234567.89')); // 输出:1,234,567.89/nconsole.log(formatMoney(' 123.45 ')); // 输出:123.45/nconsole.log(formatMoney('1.2.3')); // 输出:1.2.3/nconsole.log(formatMoney('abc123')); // 输出:abc123/n
/n/n解释一下实现过程:/n/n1. 首先去除字符串首尾空格,避免出现不必要的错误;/n2. 判断字符串是否以数字开头,如果不是,则直接返回原字符串;/n3. 判断字符串中是否包含多个小数点,如果包含,则直接返回原字符串;/n4. 将字符串转换为数字,如果转换失败,则返回原字符串;/n5. 使用 toFixed
方法将数字转换为指定小数位数的字符串,并使用正则表达式进行千位分隔符的添加;/n6. 返回转换后的字符串。
原文地址: https://www.cveoy.top/t/topic/mYKY 著作权归作者所有。请勿转载和采集!