简体   繁体   中英

Java BigDecimal can have comma instead dot?

I have a string value that I want to assign to a BigDecimal. When I update the decimal value with a number like 100.23 , it works fine but when I update it with a number like 100,23 the code throws an exception. Why is that?

because you tried to put a "," in a number.

you can use this code to parse a number with comma:

NumberFormat.getNumberInstance(Locale.FRANCE).parse("265,858")

you should also use float or double if there is no particular reason you use decimal.

If you can't be sure if your String has commas or points, you can use replace(char, char) from the String class. For example myString.replace(',', '.') .

The BigDecimal(String) constructor documentation lists all valid formats and characters. Notice that the , is not included within this list.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM