javaBigdecimal显⽰两位⼩数
问题:数据库中的数据为1.23456---------对应的----------java属性为Bigdecimal类型,在页⾯中显⽰时只保留⼩数点后两位,应该怎么做呢。
答案1:⼀部⼈因为经常⽤Bigdecimal⽤+-*/的精准运算,就会⽤如以下的⼯具类去处理并得到--------只保留⼩数点后两位的值:
/**
bigdecimal除法保留小数* 提供精确的⼩数位四舍五⼊处理。
* @param v 需要四舍五⼊的数字
* @param scale ⼩数点后保留⼏位
* @return 四舍五⼊后的结果
*/
public static double round(double v,int scale){
if(scale<0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b = new String(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
答案2:更简单直接的⽅法是⽤fmt:formatNumber处理如下:
<td><fmt:formatNumber type="number" value="${entity.liuqh}" pattern="0.00" maxFractionDigits="2"/>元</td>
本⼈觉得,如果只是为了显⽰⼀个四舍五⼊并保留两位⼩数,并不涉及到精准运算的话,选答案2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论