去除小数点后多余的0(多个方法参考)

        去除小数点后面多余的0,这个小需求大家平时肯定也会遇到,总结了以下两种方法:(推荐方法二

一、方法一

// 方法一:
    public static void main(String[] args) {
        String s = "123.78900";
        // 正则表达式校验:
        // 去掉后面无用的零
        s = s.replaceAll("0+?$", "");
        // 如小数点后面全是零则去掉小数点
        s = s.replaceAll("[.]$", "");
        System.out.println(s);
    }

结果:

去除小数点后多余的0(多个方法参考)_第1张图片

二、方法二(强烈推荐

    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("123.56246500");
        String s = a.stripTrailingZeros().toPlainString();
        System.out.println(s);
    }

结果:

去除小数点后多余的0(多个方法参考)_第2张图片

toPlainString():返回不带指数字段的此 BigDecimal 的字符串表示形式;
stripTrailingZeros():返回一个BigDecimal,它在数值上等于这一个,但表示形式移除所有尾部零 。

三、方法三(通过MySQL处理)

原数据:

去除小数点后多余的0(多个方法参考)_第3张图片

SELECT
	0 + CAST( s.salary AS CHAR ) AS salary 
FROM
	salary s

结果:

去除小数点后多余的0(多个方法参考)_第4张图片

说明:0+用来隐式转换 ,让数据库自动转换值。 

如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。 

你可能感兴趣的:(java,开发语言)