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小时内删除。