要将BigDecimal保留小数10位并存入MySQL的varchar字段中,同时去掉小数部分末尾的0,可以按以下步骤进行操作:

  1. BigDecimal转换为字符串并保留10位小数:
BigDecimal number = new BigDecimal("123.4567890123");
String formattedNumber = number.setScale(10, RoundingMode.HALF_UP).toPlainString();

上述代码将会将BigDecimal对象number保留10位小数,并将结果存储在formattedNumber字符串中。

  1. 去掉小数部分末尾的0:
formattedNumber = formattedNumber.replaceAll("\\.?0*$", "");

上述代码使用正则表达式替换函数将字符串中小数部分末尾的0去掉,并将结果重新赋值给formattedNumber

  1. 将处理后的字符串存入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字段中。

BigDecimal 保留小数10位存入myaql varchar去掉0

原文地址: https://www.cveoy.top/t/topic/i5aV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录