首页 > 编程语言 >Java中double保留2位小数(精度丢失)的两种方式

Java中double保留2位小数(精度丢失)的两种方式

时间:2022-12-13 14:59:03浏览次数:62  
标签:Java double System 丢失 精度 小数

Java中double保留2位小数(精度丢失)的两种方式

在我们日常开发中,使用double数据类型进行计算,偶尔会出现精度丢失的情况,例如实际结果是0.75,就可能出现0.7500000000000001或0.7499999999999999。这边介绍两种方式(四舍五入)保留2位小数,可以满足开发中处理double精度丢失的大部分需求。

1、使用round函数(同理:保留4位的话就是10000)

Double d = 3.141592653589;
double d1 = (double) Math.round(d * 100) / 100;
System.out.println(d1); //3.14

2、使用DecimalFormat函数(这个的返回值是String)

Double d = 3.141592653589;
DecimalFormat df = new DecimalFormat("######0.00");
String s = df.format(d);
double d2 = Double.valueOf(s);
System.out.println(s); //"3.14"
System.out.println(d2); //3.14

原文链接:https://blog.csdn.net/weixin_50989469/article/details/126622262

标签:Java,double,System,丢失,精度,小数
From: https://www.cnblogs.com/lovexiao/p/16978752.html

相关文章

  • HTML转图片-JAVA
    依赖组件<dependency> <groupId>gui.ava</groupId> <artifactId>html2image</artifactId> <version>0.9</version></dependency>示例HtmlImageGeneratorgenerator......
  • Effective Java-2. 当构造方法参数过多时使用builder模式
    背景静态工厂和构造方法不能很好的拓展到很多可选参数的场景,因为参数过多的时候,调用其构造方法不太能知道每个位置参数的含义,容易出bug那么为这个类编写什么样下的构造方......
  • Effective Java-1.考虑使用静态工厂方法代替构造方法
    静态工厂方法的优点不像构造方法,静态工厂是有名字的精心构造的名称使得静态工厂方法更容易使用和理解,即知道创建的是什么对象与构造方法不同,不用每次都创建一个新的......
  • javascript中setInterval越来越快的问题解决方法
    vartimerfunctionrun(){ //clearInterval要放在方法开始,不然的话,下面的代码还没运行到clearInterval,又开始了循环了。if(timer){clearInter......
  • Java NIO、NIO.2学习笔记
    相关学习资料http://www.ibm.com/developerworks/cn/education/java/j-nio/j-nio.html 目录1.NIO、NIO.2简介2.NIO中的关键技术 1.NIO、NIO.2简介Java中的输入流、输出......
  • java 将小数拆分为两部分+浮点型精度丢失问题
    问题:将一个String类型的小数拆分为整数部分和小数部分,如9.9拆分为9和0.91.将小数的整数和小数部分拆分开publicfloatnumberSub(StringtotalMoney){floatmoneyFl......
  • Java方法
    方法方法的定义方法就是一段可重复调用的代码段,例如:有某段长度约100行的代码,要在多个地方使用此段代码,如果在各个地方都重复编写此部分代码的话,则肯定会比较麻烦,而且此部......
  • pom之 数据源信息 spring-boot-starter-jdbc ,mysql-connector-java
    <!--    数据源信息--><!--    <dependency>--><!--      <groupId>org.springframework.boot</groupId>--><!--      <arti......
  • [Java EE] java.net.SocketException: Connection reset【解决中】
    1错误描述6:44:33.112][DEBUG][http-nio-9527-exec-3][HttpClientUtil]httpposturl:http://bdp-gateway-service-parent-backend-service.bigdata/bdp/public/api/......
  • Java 中的抽象介绍
    这篇文章主要介绍了Java 中的抽象,数据抽象是一种仅向用户显示基本细节的属性。不向用户显示琐碎或非必需的单元,下面文章Java抽象详细内容,需要的朋友可以参考一下目录1......