gpt4 book ai didi

javascript - 从数字中显示货币

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:40:57 26 4
gpt4 key购买 nike

如何在实时输入/键入时将数字(整数)更改为货币格式?

例如:

45678 => 456.78

234567 => 2345.67  or 2,345.67 or 2 345.67

(取决于使用的掩码格式)

在人们开始将此问题标记为现有问题之前,我已经看到了格式化数字的现有代码,但这些示例并未将最后两个数字处理为小数。相反,那些将字符串 45678 格式化为 45 678.00 或 45,678.00 而不是 456.78。

类似转换的东西:

######## 进入### ###.##

最佳答案

您可以迭代掩码并重新组合结果字符串。

它为数组中的单个数字或掩码字符从两个值创建两个数组(使用 spread syntax ... )。

然后从右边开始迭代掩码字符

(m === '#' ? v.pop() || '' : v.length ? m : '') + s

如果找到#,则用任一数值构建一个新字符串

 m === '#' ? v.pop() || ''

或者通过检查值的长度来获取掩码的值

                             v.length ? m : ''

防止添加空格或不需要的字符。

function convert(i, mask) {
var v = [...i.toString()];
return [...mask].reduceRight((s, m) => (m === '#' ? v.pop() || '' : v.length ? m : '') + s, '');
}

console.log(convert(45678, '### ###.##')); // 456.78
console.log(convert(234567, '### ###.##')); // 2345.67
console.log(convert(234567, '###,###.##')); // 2,345.67
console.log(convert(234567, '### ###.##')); // 2 345.67

关于javascript - 从数字中显示货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49026581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com