所以我知道如何将2000
之类的字符串或整数格式化为2K
,但如何将其反转呢?
我想做类似的事情:
var string = "$2K".replace("/* K with 000 and remove $ symbol in front of 2 */");
我该如何开始?我不是很好的正则表达式,但我已经花了更多的时间来学习它们。如果你能提供帮助,我当然感激不尽。是否有可能为数百万的M(最后添加000000)或数十亿的B(最后添加000000000)做同样的事情?
答案 0 :(得分:2)
var string = "$2K".replace(/\$(\d+)K/, "$1000");
将输出
2000
答案 1 :(得分:0)
我将采取不同的方法,因为最好的方法是更改您的应用程序,以免丢失原始数字信息。我认识到这并不总是可行的(例如,如果您正在抓取格式化值......),但对于具有类似问题的其他用户来说,这可能是有用的方法。
尝试更新您的应用以将两者存储在同一对象中,而不是仅存储数值或显示值(然后尝试转换回数值):
var value = {numeric: 2000, display: '2K'}
console.log(value.numeric); // 2000
console.log(value.display); // 2K
此处的示例有点简化,但如果您传递这样的值,则不需要首先转换回来。它还允许您根据区域设置,货币或舍入方式更改格式化值,并且不会丢失原始值的精度。