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

IT技术2年前 (2022)发布 投稿用户
0

方式一:最简单的方法:

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,若是要数据转换为Double

Java


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);
}
}

© 版权声明
好牛新坐标 广告
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章