我有这个字符串:£0,00
例如,我想用 float 3.95 替换它。但我想保留 £ 和 ","
所以结果 -> £3,95
我该怎么做?
--
添加了一些细节:
货币符号是否始终为 £?
货币符号可能在数字之前,有时在数字之后。即 0,00 克朗
分隔符是始终是 , 还是可能是 .甚至是任意字符?
分隔符可能是 .有时。
总是会有两位小数吗?
小数点始终保留 2 位。
可能有多少位整数,是否会有千位分隔符?
它不会超过 100。
最佳答案
function convert (proto, value) {
return proto.replace (/0(.)00/, function (m, dp) {
return value.toFixed (2).replace ('.', dp);
});
}
proto 参数指定格式,它必须有一个由单个 0 数字后跟任意字符和两个 0 数字组成的子字符串,整个子字符串由数值参数替换,小数点替换为proto 中 0 数字之间的字符。
关于javascript - 替换 Javascript 中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122837/