BigDecimal 保留小数10位存入myaql varchar去掉0
要将BigDecimal保留小数10位并存入MySQL的varchar字段中,同时去掉小数部分末尾的0,可以按以下步骤进行操作:
- 将
BigDecimal转换为字符串并保留10位小数:
BigDecimal number = new BigDecimal("123.4567890123");
String formattedNumber = number.setScale(10, RoundingMode.HALF_UP).toPlainString();
上述代码将会将BigDecimal对象number保留10位小数,并将结果存储在formattedNumber字符串中。
- 去掉小数部分末尾的0:
formattedNumber = formattedNumber.replaceAll("\\.?0*$", "");
上述代码使用正则表达式替换函数将字符串中小数部分末尾的0去掉,并将结果重新赋值给formattedNumber。
- 将处理后的字符串存入MySQL的
varchar字段中。
完整的代码示例如下:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
BigDecimal number = new BigDecimal("123.4567890123");
String formattedNumber = number.setScale(10, RoundingMode.HALF_UP).toPlainString();
formattedNumber = formattedNumber.replaceAll("\\.?0*$", "");
// 将 formattedNumber 存入 MySQL 的 varchar 字段中
System.out.println(formattedNumber);
}
}
请替换代码中的注释部分以将结果存入MySQL的varchar字段中。
原文地址: https://www.cveoy.top/t/topic/i5aV 著作权归作者所有。请勿转载和采集!