我要将货币字符串转换为Double
值:
val num = "181.13 kr"
val parsed = num.replaceAll("\\p{Sc}|,", "")
parsed = 181.13 kr
此示例不起作用,但在这种情况下,这样可以正常工作:
val num = "€11.22"
val parsed = num.replaceAll("\\p{Sc}|,", "")
parsed = 11.22
答案 0 :(得分:1)
尽管存在这样的问题,是否使用Double
或Float
代表货币:\p{Sc}
并不匹配kr
,因为它不是货币符号。添加\p{L}
以匹配任何字母("€"可能是" EUR"在某些情况下)。
val parsed = num.replaceAll("\\p{Sc}|\\p{L}|,", "")