下面以保存两位有效数字为例。

1.首先我们想到用先乘以100取整后再除以100.0这种做法:

System.out.println(Math.round(4.015*100)/100.0);

执行结果为4.01,显然没有达到我们想要的结果。

2.那用java.text.DecimalFormat呢?

System.out.println(new java.text.DecimalFormat("0.00").format(4.015));

System.out.println(new java.text.DecimalFormat("0.00").format(4.025));

执行结果都为4.02。

3.用java.math.BigDecimal.

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。

double   abc   =   4.015;   //4.025

System.out.println(new  java.math.BigDecimal(abc).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());

结果:4.01 (当使用4.025时结果为4.03)

看来还是达不到效果。

4.用下面的方法:

System.out.println(Math.round(4.015*100 + 0.5)/100.0);

5.试试下面的方法:

System.out.println(new  java.math.BigDecimal(Double.toString(abc)).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());

转载请注明来源网站:www.itxm.cn谢谢!

java中double的使用方法_java中double型数据如何四舍五入?详解相关推荐

  1. java中容易混淆的方法_java中容易混淆的概念

    java中容易混淆的概念 1. 谈谈 final, finally, finalize 的区别final-修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不 能作为父类被 ...

  2. java中容易混淆的方法_java中容易混淆的区别

    本文会随时更新一些java中容易混淆的关键字或者知识点,如有偏见之处,望留言! final和static的差别: 1,final的英语意思"最后的",在java中修饰类,方法和变量 ...

  3. java mod 函数的使用方法_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  4. java中的getnumber怎么用_java安全编码指南之:Number操作详解

    简介 java中可以被称为Number的有byte,short,int,long,float,double和char,我们在使用这些Nubmer的过程中,需要注意些什么内容呢?一起来看看吧. Numb ...

  5. java类的定义的实例_Java中类的定义和初始化示例详解

    类的定义 类的定义格式 //创建类 class classname{ field ://成员属性/字段 method://方法 } class为定义类的关键字,classname为类的名字,{ }为类 ...

  6. java后台验证不能为空_java validation 后台参数验证的使用详解

    一.前言 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节.比如参数不能为null,email那么必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太慢,在时间 ...

  7. java 创建文件夹的方法_java中创建文件夹的方法

    java中创建文件夹的方法 发布时间:2020-06-10 11:46:49 来源:亿速云 阅读:461 作者:Leah 这篇文章给大家分享的是java中创建文件夹的方法.小编觉得挺实用的,因此分享给 ...

  8. java中实现线程的方法_Java中实现线程的方法

    Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 第一种:继承Thread类 new Thread(){}.start();这表示调 ...

  9. java中无限循环的方法_Java中的无限循环

    Java中的无限循环 在Java中查看下面的无限while循环. 它会导致它下面的语句编译时错误. while(true) { System.out.println("inside whil ...

最新文章

  1. 干货:Android 源码使用心得分享
  2. Xamarin图表开发基础教程(1)
  3. 浅谈Windows Phone 7的体系结构 - [WP开发文档翻译系列]
  4. python 查询文本文件的层次
  5. 秒杀系统设计架构与实现
  6. 上接游戏人生Silverlight(2) - 趣味钢琴[Silverlight 2.0(c#)]
  7. nodejs读取本地txt文件并输出到浏览器
  8. 详细设计 英文_官宣 | 闽江学院官方文创产品设计稿征集
  9. centos mysql 实战 第一节课 安全加固 mysql安装
  10. 【MySQL】MySQL 8不支持查询缓存
  11. 图表中如何实现动态变更分类轴与系列值
  12. “现有人工智能都是二流的”
  13. 为什么从事软件开发测试?
  14. unity中的透视投影矩阵
  15. 关于PCB板热设计的学习总结
  16. Java面向对象编程三大特征 - 继承
  17. 大众点评信息流基于文本生成的创意优化实践
  18. 云迁移实践:VMware虚拟机迁移到腾讯云
  19. Lodash的两种安装方式(npm安装/CDN)以及简单使用
  20. 智慧旅游 SaaS 平台:票付通 CRM 建设之路(深度文)

热门文章

  1. CRC-16 / MODBUS 校验计算方法
  2. 幼儿园调查过程怎么写_如何观察?如何分析和记录?幼儿园观察记录应该怎么写?|...
  3. 广搜(BFS)和深搜(DFS)
  4. DxO Optics Pro 9.1.5 builder 1919 汉化版
  5. Latex基础语法简介与快查
  6. python中哪些类型数据是不可变的_python的可变与不可变数据类型
  7. IoT黑板报0217:Alphabet联网气球项目取得新突破
  8. 9-1拼多多题目,4题AK
  9. JPEG有损压缩过程介绍
  10. 如何区分变压器的同名端和异名端