Java 四舍五入计算问题
来源:互联网 发布:网络病毒营销的前提 编辑:程序博客网 时间:2024/04/29 08:21
Java 四舍五入计算问题
import java.math.BigDecimal;import java.math.RoundingMode;import java.text.DecimalFormat;public class Test {public static void main(String[] args) {//第一种方法并非完全是 四舍五入double d1=2.346;double d2=2.342;//下面这四个数是重点double d3=2.345;double d4=2.3456;double d5=2.3451;double d6=2.3450; DecimalFormat df=new DecimalFormat("#.00"); System.out.println(df.format(d1)); //2.35System.out.println(df.format(d2)); //2.34//严格意义他并不是四舍五入 虽然保留两位小数 如果第三位为5 但是他还需要看第四位//第四位为0和第四位没有值情况相同都不进位 第四位不为0则进位System.out.println(df.format(d3));//2.34System.out.println(df.format(d4));//2.35System.out.println(df.format(d5));//2.35System.out.println(df.format(d6));//2.34System.out.println("****************************");//第二种方法 double f = 111231.5556; BigDecimal b = new BigDecimal(f); //HALF_UP:最近数字舍入(5进)。这是我们最经典的四舍五入。 System.out.println(b.setScale(2,RoundingMode.HALF_UP).doubleValue()); //111231.56 //HALF_DOWN:最近数字舍入(5舍)。在这里5是要舍弃的。 System.out.println(b.setScale(2,RoundingMode.HALF_DOWN).doubleValue()); //111231.56 //HAIL_EVEN:银行家舍入法。 System.out.println(b.setScale(2,RoundingMode.HALF_EVEN).doubleValue()); //111231.56 //UP:远离零方向舍入。向绝对值最大的方向舍入,只要舍弃位非0即进位。 System.out.println(b.setScale(2,RoundingMode.UP).doubleValue()); //111231.56 //DOWN:趋向零方向舍入。向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况。 System.out.println(b.setScale(2,RoundingMode.DOWN).doubleValue()); //111231.55 //CEILING:向正无穷方向舍入。向正最大方向靠拢。若是正数,舍入行为类似于UP, //若为负数,舍入行为类似于DOWN。Math.round()方法就是使用的此模式 System.out.println(b.setScale(2,RoundingMode.CEILING).doubleValue()); //111231.56 //FLOOR:向负无穷方向舍入。向负无穷方向靠拢。若是正数,舍入行为类似于DOWN;若为负数,舍入行为类似于UP。 System.out.println(b.setScale(2,RoundingMode.FLOOR).doubleValue()); //111231.55 System.out.println("****************************"); //第三种 //Math.round()或者Math.rint():返回其值最接近参数并且是整数的 long,int或者double 值。 double b1=1.235; System.out.println(Math.rint(b1)); //1.0 System.out.println(Math.round(b1)); //1 //如果要保留2位小数,那么 System.out.println(Math.rint(b1*100)/100); //1.24 //Math.round()不适用 System.out.println(Math.round(b1*100)/100); //1}}
2 0
- Java 四舍五入计算问题
- java四舍五入计算
- Java、JSTL----四舍五入问题
- java和jsp四舍五入问题
- Java 和 Oracle 四舍五入问题。
- java中的四舍五入的问题
- java格式化小数点问题,四舍五入
- 计算四舍五入
- Java的四舍五入问题(double等)
- java中关于小数的四舍五入问题
- java实现double的精确计算和四舍五入
- Java浮点数的精确计算及四舍五入的设置
- java double 浮点数计算工具类 加减乘除和四舍五入
- java四舍五入
- java 四舍五入
- Java四舍五入
- java 四舍五入
- java 四舍五入
- 到设定的时间让程序退出登录
- linux系统下运行aapt
- iO7以上CIFilter生成二维码
- 浏览器滚动条触底时出发事件
- java 实现String 的contains方法
- Java 四舍五入计算问题
- HTML单选、多选、按钮、下拉框、文本输入框
- 有人(甚至国家)兜底就安全了吗?瑞士央行风暴小议。
- Mysql主主同步配置方法
- 生成10位随机字符串
- CentOS 7 安装 Gitlab
- CentOS7.1 Liberty云平台之Identity篇(3)
- Linux-文件系统管理
- xml文件的加载与配置