一: 四舍五入(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP) double f = 2345.2345; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 保留两位小数 二: double f = 2345.2345; java.text.DecimalFormat df =new java.text.DecimalFormat(“#...
一、使用BigDecimal,保留小数点后两位 代码语言:javascript 复制 publicstaticStringformat1(double value){BigDecimal bd=newBigDecimal(value);bd=bd.setScale(2,RoundingMode.HALF_UP);returnbd.toString();} 二、使用DecimalFormat,保留小数点后两位 代码语言:javascript 复制 publicstaticStringformat2(double value){D...
BigDecimal number = new BigDecimal("123.456789"); 调用BigDecimal的setScale方法: setScale方法用于设置BigDecimal对象的小数位数。 设置setScale方法的第二个参数为RoundingMode.HALF_UP: RoundingMode.HALF_UP表示四舍五入模式,这是最常用的舍入模式。 设定setScale方法保留小数点后两位数字: 通过传递2作为setScale方...
BigDecimal bd = new BigDecimal(value);//创建一个bd对象,将要转换的值value传入构造函数 bd = bd.setScale(2, RoundingMode.HALF_UP);//调用setScale方法进行数据格式化,保留两位小数,采用四舍五入规则 return bd.toString(); //返回bd对象的值(转化为string形式) } 1. 2. 3. 4. 5. 使用DecimalFormat类...
bigDecimal = a.divide(b,2,RoundingMode.HALF_UP);,如果不设置保留的小数位Scale,就可能会抛出ArithmeticException异常。这是因为a.divide(b)会默认使用ROUND_UNNECESSARY模式,即不做舍入处理,如果计算结果的小数位和要求保留的小数位不相符,则抛出异常。
double f = 12345.67893;BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(f1);方法四:NumberFormat.setMaximumFractionDigits()方法 该方法是用于设置数字格式化时保留的最大小数位数的方法。它允许您指定在格式化数字时要...
java保留两位小数问题: 方式一(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP): 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 保留两位小数 --- 方式二: java.text.DecimalFormat df =new java.text.Dec...
需求一:有一个double或者float类型的数值,保留2位小数,如果小数位数不足2位,则用0填充,也就是,1.123被格式化成1.12,1.1被格式化成1.10。代码如下 BigDecimal bigDecimal = BigDecimal.valueOf(1.123); BigD…
Java 格式化BigDecimal返回前端 显示小数点后的0 前端需要保留2位小数,即使小数点后是 0 也需要显示; 1、使用@JsonSerialize输出数据保留两位小数,创建一个BigDecimal格式化工具 import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer;...
BigDecimal b =newBigDecimal(num); //保留2位小数 doubleresult = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(result); //111231.56 } BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接删...