「java四舍五入算法」四舍五入的算法

博主:adminadmin 2022-12-01 16:27:07 75

今天给各位分享java四舍五入算法的知识,其中也会对四舍五入的算法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java如何做到四舍五入

方法一:四舍五入

double  f  =  111231.5585;

BigDecimal  b = new BigDecimal(f);

double f1  =  b.setScale(2,  RoundingMode.HALF_UP).doubleValue();

方式二:

java.text.DecimalFormat df = new   java.text.DecimalFormat("#.00");

df.format(你要格式化的数字);

方式三:

double d = 3.1415926;

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

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

方式四:

此外如果使用struts标签做输出的话,有个format属性,设置为format="0.00"就是保留两位小数例如:

fmt:formatNumber type="number" value="${10000.22/100}" maxFractionDigits="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 表示浮点型。

java代码实现四舍五入的方式

如果你是用来交差的,可以再声明让我们贴代码,如果你是学习的,那么就探讨一下

1.四舍五入时可以用到int类型,它的得到的是整数,舍弃小数部分。

2.动脑筋想一些小办法,四舍五入可以自己写方法,不必用到API。

我们知道所谓四舍五入,就是满5进一,假设这个数为A,若无法进一,那么他减去0.5,必然小于该数。能进一,必然大于等于该数。那么可不可以用下面的方法?

private int fun(double d) {

int b = (int) d;

if(d - 0.5 = b){

b++;

return b;

}

else

return b;

}

使用时调用就行了,如system.out(类实例.fun(5.2));

抛砖引玉,欢迎赐教(这个方法只是基本实现,其他提问人慢慢摸索吧)

直接方法:math.round();取离数值最近值

java中小数怎么四舍五入?

按照你的要求为不确定保留几位小数的字符串做四舍五入的Java程序如下

import java.math.BigDecimal;

public class A {

public static void main(String[] args) {

String s="0.00000999999997";

//四舍五入,length是小数位数

int length=s.substring(s.indexOf(".")+1).length();

String s1=String.format("%."+(length-1)+"f",new BigDecimal(s));

//去尾部0

BigDecimal bd=new BigDecimal(s1).stripTrailingZeros();

System.out.println(bd.toPlainString());

}

}

java四舍五入算法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于四舍五入的算法、java四舍五入算法的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。