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

最新文章

  1. 安装VisualStudio 2015 x64 中文企业版失败
  2. CSS让图片垂直居中的几种技巧
  3. fastReport 运行时设计报表 (mtm)
  4. spring MVC配置详解
  5. 33、mybatis(二)
  6. 移动端webapp开发必备知识
  7. c# 实现文件拖入和拖出(拖拽)
  8. MarkWord - 可发布博客的 Markdown编辑器 代码开源
  9. spice for openstack
  10. POJ 1724 ROADS(bfs最短路)
  11. Mac+PhpStorm+XAMPP+Xdebug
  12. Cassandra
  13. 1627: [Usaco2007 Dec]穿越泥地
  14. mysql批量插入语句执行失败的话,是部分失败还是全部失败
  15. Android破解学习之路(十)—— 我们恋爱吧 三色绘恋 二次破解
  16. object.observe被废弃了怎么办
  17. linux命令进阶
  18. centos7,zabbix3.2通过zabbix_java_gateway监控jmx[java/tomcat]
  19. 如何在你的Vue项目配置vux
  20. h5新增标签及css3新增属性

热门文章

  1. Linux装cudnn
  2. thirty
  3. MySQL中的sql优化
  4. 清空kafka全部数据
  5. R7-1 字符排队
  6. gin websocket
  7. 5-6:实现多窗口之异常(AttributeError: 'list' object has no attribute 'click')
  8. vuex记录
  9. DataStructures 01 日期抽象类设计与实现
  10. node.js 新手快速入门