java小数点两位
⑴ java中保留两位小数并要求四舍五入的方法
doubled=2.345;
//格式化为String
Stringstr=String.format("%.2f",d);
System.out.println(str);
//如果需要数字,可以再d=Double.parseDouble(str)
//////////////
BigDecimalbd=newBigDecimal("2.345");//建议使用String参数
BigDecimalbd_half_even=bd.setScale(2,RoundingMode.HALF_EVEN);
BigDecimalbd_half_up=bd.setScale(2,RoundingMode.HALF_UP);
System.out.println(bd_half_even);
System.out.println(bd_half_up);
//HALF_EVEN,HALF_UP是两种不同的四舍五入机制
//BigDecimal默认使用HALF_EVEN
//HALF_UP的效果就是经典的四舍五入
//HALF_EVEN是最科学的四舍五入,但结果和HALF_UP可能会不同
⑵ java 怎么保留2位小数
java保留两位小数的方法:
方式一:
四舍五入
doublef=111231.5585;
BigDecimalb=newBigDecimal(f);
doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
方式二:
java.text.DecimalFormatdf=newjava.text.DecimalFormat("#.00");
df.format(要格式化的数字);
例:newjava.text.DecimalFormat("#.00").format(3.1415926)
#.00表示两位小数#.0000四位小数以此类推...
方式三:
doubled=3.1415926;
Stringresult=String.format("%.2f");
%.2f%.表示小数点前任意位数2表示两位小数格式后的结果为f表示浮点型
⑶ java、怎样简便的保留小数点后两位。
有两种情况:
1、只要输出结果的时候可以用以下方法:
double x1 = 0.026;
System.out.println(String.format("%.2f", x1));
结果:0.03
2、使用数据转换(4种方法)
//方案一:
get_double = (double)(Math.round(result_value*100)/100.0)
//方案二:
DecimalFormat df = new DecimalFormat("#.##");
get_double = Double.ParseDouble(df.format(result_value));
//方案三:
get_double = Double.ParseDouble(String.format("%.2f",result_value));
//方案四:
BigDecimal bd = new BigDecimalresult_value();
BigDecimal bd2 = bd.setScale(2,BigDecimal .ROUND_HALF_UP);
get_double = Double.ParseDouble(bd2.ToString());
⑷ java怎么保留两位小数
java自带api是没有保留两位小数的,需要自己去封装定义
⑸ java 小数点后两位的数属于什么数据类型例如0.01或-0.01属于什么数据类型float吗
java 中 float 类型 单精度浮点数在机内占4个字节,用32位二进制描述,范围范围从10^-38到10^38 和 -10^38到-10^-38,必须以f 结尾
double 类型 双精度浮点数在机内占8个字节,用64位二进制描述。范围 10^-308到10^308 和 -10^-308到-10^-308,末位可以用d,也可以不用d