志在指尖
用双手敲打未来

java四舍五入(保留小数点后两位)

java四舍五入

方式一:最简单的方法:
floata=123.4567f;
//这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000
floatb=(float)(Math.round(a*100))/100;
方式二:
doublef=111231.5585;
BigDecimalb=newBigDecimal(f);
doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
方式三:
doubled=3.1415926;
//%.表示小数点前任意位数;2表示两位小数;格式后的结果为f,表示浮点型
Stringresult=String.format("%.2f");自学Java

java保留小数点后两位

java中四舍五入后并保留两位小数的方法(以double为例)
1.0String.format打印
数字格式化说明的格式:
%[argumentnumber][flags][width][.precision]type
argumentnumber:若参数大于1,指定哪一个;
flags:符号,如(+、-、;、.);
width:最小字符数;
.precision:精确度;
type:类型,如f:浮点。
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=3.1415926;
//直接输出结果
System.out.println(String.format("%.2f",d));
//输出结果:3.14
}
}
String.format返回的是String,若是要数据转换为DoubleJava
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=3.1415926;
DecimalFormatdf=newDecimalFormat("#.##");
Doubleget_double=Double.parseDouble(String.format("%.2f",d));
System.out.println(get_double);
}
}
2.0DecimalFormat转换
DecimalFormat是NumberFormat的一个具体子类,用于格式化十进制数字。符号含义:
0(代表一个数字,如果不存在显示0)
符号#(代表一个或多个数字,如果不存在则显示为空)
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=3.1415926;
DecimalFormatdf=newDecimalFormat("#.00");
System.out.println(df.format(d));
}
}
df.format(d)返回的是String,若是要数据转换为Double
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=3.1415926;
DecimalFormatdf=newDecimalFormat("#.##");
Doubleget_double=Double.parseDouble(df.format(d));
System.out.println(get_double);
}
}
3.0BigDecimal.setScale()
此方法用于格式化小数点。
BigDecimal.ROUND_HALF_UP表示四舍五入,setScale(2)表示保留两位小数。
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=3.1415926;
BigDecimalbd=newBigDecimal(d);
BigDecimalbd2=bd.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bd2);
}
}
数据转换
importjava.math.BigDecimal;
importjava.text.DecimalFormat;
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=3.1415926;
BigDecimalbd=newBigDecimal(d);
BigDecimalbd2=bd.setScale(2,BigDecimal.ROUND_HALF_UP);
Doubleget_double=Double.parseDouble(bd2.toString());
System.out.println(get_double);
}
}
4.0用Math.round()
将数乘以100后四舍五入,再除以100.0
注:java中Math.round()是四舍五入取整,并不能设置保留几位小数。
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=3.1415926;
Doubleget_double=(double)((Math.round(d*100))/100.0);
System.out.println(get_double);
}
}

未经允许不得转载:IT技术网站 » java四舍五入(保留小数点后两位)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载