当前位置:首页 » 编程语言 » java四舍五入保留两位小数

java四舍五入保留两位小数

发布时间: 2023-02-18 05:49:13

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 两个数相除后四舍五入并保留两位小数有哪些方式


1 double f = 3.1516;
BigDecimal b = new BigDecimal(f);
2 double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()
new java.text.DecimalFormat("#.00").format(3.1415926)


3 double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。


4 Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0

Ⅲ java四舍五入 保留两位小数

因为double型小数部分会在从二进制变十进制的类型变换中产生误差,所以x2会变成-3.80000000000003,如果要使输出四舍五入 保留两位小数,可以用String的format函数,方法如下:
System.out.println(String.format("%.2f", x1));
System.out.println(String.format("%.2f", x2));

Ⅳ Java几种常见的四舍五入的方法

下面给你介绍3种常见的四舍五入:

// 方式一:BigDecimal方式

double f = 3.1315;

BigDecimal b = new BigDecimal(new Double(f).toString);

double f1 = b.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();

注意:这里一定不要直接使用new BigDecimal(double)的构造方法,而要使用new BigDecimal(new Double(1.1315).toString())的方式,不然会出现精确问题


// 方式二:DecimalFormat方式

//DecimalFormat默认采用了RoundingMode.HALF_EVEN这种类型,而且format之后的结果是一个字符串类型String

DecimalFormat df = new DecimalFormat("#.000");

System.out.println(df.format(new BigDecimal(1.0145)));//1.014

System.out.println(df.format(new BigDecimal(1.1315)));//1.132

// 方式三:

double d = 3.1415926;

String result = String.format("%.2f", d);

// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

Ⅳ java中小数怎么四舍五入

java中如果精确一点的小数位比较多,类型建议使用BigDecimal,数据库存储用decimal类型。

.你的问题是想做四舍五入,并指定精确小数位数。BigDecimal..setScale(需要精确的小数位数例如:3, BigDecimal.ROUND_HALF_UP); 如图所示:如果想要确定小数位数,可以用正则取出需要精确的位数,再去传输需要精确的小数位数。

指定小数位数,并且都做四舍五入即可

热点内容
主机如何把密码关掉 发布:2024-11-08 10:36:25 浏览:720
安卓软件如何锁定 发布:2024-11-08 10:30:27 浏览:709
sql定时执行语句 发布:2024-11-08 10:29:36 浏览:673
迈锐宝xl值得入手哪个配置 发布:2024-11-08 10:14:13 浏览:634
寻欢加密 发布:2024-11-08 10:02:57 浏览:353
拼单源码 发布:2024-11-08 09:58:24 浏览:143
linux服务器存储 发布:2024-11-08 09:51:40 浏览:473
更新时间服务器ip移动 发布:2024-11-08 09:39:13 浏览:218
存储与网络的关系 发布:2024-11-08 09:37:42 浏览:559
php设置文件大小 发布:2024-11-08 09:36:37 浏览:515