yhkn.net
当前位置:首页 >> jAvA去掉小数点多余0 >>

jAvA去掉小数点多余0

在你的代码中找:select avg(money) 替换为:select cast(round(avg(money),2) as decimal(18,2))

用toString()转换成字符串后,再用substring来截取小数点之前的内容。String strNumber=FundsTotal.toString();strNumber=strNumber.substring(0, strNumber.lastIndexOf("."));

将你getA()返回的值作为参数,调用下面的方法,返回的String就是你想要的结果 public String removeTailZero(BigDecimal b) { String s = b.toString(); int i, len = s.length(); for (i = 0; i < len; i++) if (s.charAt(len - 1 - i) != '0') b...

在java中,可以用DecimalFormat 类来对小数保留的位数进行操作。其使用方法如下: Double a = 3.1415926;DecimalFormat obj = new DecimalFormat(".00"); // 保留2位小数System.out.println(obj .format(a)); // 输出结果为3.14(保留2位小数)

(int)(Math.round(333.33333));

如果浮点数据比较小,可采用(int)强制转换方式,进行取整数后的两数比较,确定是否有小数位,进行相应的格式输出。但,浮点数据范围远超过int所能承受的范围,所以,这种方法局限性很大,所以,采用字符串检查处理方法可以满足所有浮点数的情况...

我猜数字前边有零是因为类型可能是string ,把它转换成float,double 之类的就能去掉了。。。去点了以后/100 应该就可以了。。。。例如 double dd = (Double.parseDouble( str ))/100;

Double 似乎不会记住当时有多少个 scale,而 BigDecimal 就会记祝所以这个 96.6000 跟 96.6 是一样的,不能区分出来,任何计算都可能把它转换成 96.6, 所以你还想要后面跟着几个占位的0就麻烦了。 如果是用 java.math.BigDecimal 就没有这个问题...

public static String formatPrice2BlankToBlank ( String str ){ if ( U.isBlank(str) ) { return "" ; } DecimalFormat df = new DecimalFormat ( "###,##0.00" ) ; return df.format ( Double.parseDouble( str ) ) ; }

定义成double或float类型, 就不会出现都是0

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com