java.math.BigDecimal cannot be cast to java.lang.String 报错

The "java.math.BigDecimal cannot be cast to java.lang.String" error message means that you are trying to convert a BigDecimal object to a String. However, BigDecimal and String are two different types and they cannot be directly converted to each other.

BigDecimal is a class in the Java "math" package for performing exact decimal arithmetic. It can handle decimals with any number of digits, including fractional parts. In contrast, String is a class in the Java "lang" package used to represent textual information.

1. If you want to convert BigDecimal to String, you can use the toString() method:

javaBigDecimal bigDecimal = new BigDecimal("3.14");
String string = bigDecimal.toString();

2. If you need to convert String to BigDecimal, you can use the constructor of BigDecimal, which accepts a String parameter:

javaString string = "3.14";
BigDecimal bigDecimal = new BigDecimal(string);

Note that using BigDecimal's constructor to convert a String to a BigDecimal may throw an ArithmeticException if the input string contains invalid characters. Therefore, it is very important to ensure that the input string is well-formed before converting it to a BigDecimal.

3. Change the data of BigDecimal type found in the database to string type

convert(varchar,a/ b * 100) AS c,

Guess you like

Origin blog.csdn.net/qq_45991812/article/details/131892649