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

java四舍五入保留小数

发布时间: 2024-05-22 19:06:32

java四舍五入 保留两位小数

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

⑵ 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中小数怎么四舍五入

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

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

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

⑷ java中四舍五入保留两位小数,第三位正好是数字5怎么处理

使用String.format("镇空%.2f",num); //num是要处理的数据搜耐

这种方法可以用float,double接收数据类型,我试了一下String接收好像会报错,小伙伴也可以试一下。可以四舍五入保留两位小数,但是小数点第二位是0的话会不显示。以下代码用到此方法世旅春的语句:value.add(Double.valueOf ( String.format("%.2f", Double.valueOf(list.get(3).replace("\"", ""))*100)));

⑸ 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几种常见的四舍五入的方法

下面给你介绍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 表示浮点型。

热点内容
儿童人工智能编程培训 发布:2025-08-29 02:12:28 浏览:302
建群源码 发布:2025-08-29 02:12:21 浏览:115
2013年c语言二级考试真题 发布:2025-08-29 02:11:46 浏览:713
django数据库model 发布:2025-08-29 02:01:58 浏览:218
u盘制作linux安装盘 发布:2025-08-29 01:42:45 浏览:830
Java短信验证码程序 发布:2025-08-29 01:42:45 浏览:108
超级访问张博 发布:2025-08-29 01:29:50 浏览:299
大海肠解压 发布:2025-08-29 01:29:19 浏览:923
linux编译安装驱动 发布:2025-08-29 01:28:31 浏览:946
linux禁用ftp 发布:2025-08-29 01:20:00 浏览:946