我总是被告知永远不要代表钱double或float类型,这次我向你提出问题:为什么?
double
float
我确信有一个很好的理由,我根本不知道它是什么.
floating-point currency
我有字符串(来自DB),它可能包含数值.如果它包含数值,我想删除尾随零,例如:
10.0000
10.234000
str.replaceAll("\\.0*$", "")适用于第一个,但不适用于第二个.
str.replaceAll("\\.0*$", "")
很多答案指向使用BigDecimal,但String我得到的可能不是数字.所以我认为更好的解决方案可能是通过正则表达式.
BigDecimal
String
java regex string
currency ×1
floating-point ×1
java ×1
regex ×1
string ×1