去除小数点后面多余的0,这个小需求大家平时肯定也会遇到,总结了以下两种方法:(推荐方法二)
一、方法一(通过正则匹配去除)
/**
* 正则去除.或多余的0
*
* @param num 需要去除的参数
*/
public static String removeZeros(String num) {
if (num.indexOf(".") > 0) {
// 去掉多余的0
num = num.replaceAll("0+?$", "");
// 如果最后一位是. 则去掉
num = num.replaceAll("[.]$", "");
}
return num;
}
结果:
二、方法二(强烈推荐)
public static void main(String[] args) {
BigDecimal a = new BigDecimal("123.56246500");
String s = a.stripTrailingZeros().toPlainString();
System.out.println(s);
}
结果:
toPlainString():返回不带指数字段的此 BigDecimal 的字符串表示形式;
stripTrailingZeros():返回一个BigDecimal,它在数值上等于这一个,但表示形式移除所有尾部零 。
三、方法三(通过MySQL处理)
原数据:
SELECT
0 + CAST( s.salary AS CHAR ) AS salary
FROM
salary s
结果:
说明:0+用来隐式转换 ,让数据库自动转换值。
如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/161438.html