Java中double保留2位小数(精度丢失)的两种方式
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保留2位小数(精度丢失)的两种方式的更多相关文章
- 梁勇(Danniel Liang) java教材例题:java程序购买额按税率求营业税 java中数值保留2位小数的方法
package com.swift; import java.util.Scanner; public class PurchaseTaxDecimalsTwo { public static voi ...
- 【转】java中byte数组与int类型的转换(两种方式)----不错
原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...
- java中byte数组与int类型的转换(两种方式)
http://blog.csdn.net/z69183787/article/details/38564219 http://blog.csdn.net/z69183787/article/detai ...
- Java中double变量精确到小数点后几(2)位
import java.math.BigDecimal; import java.text.NumberFormat; public class Java中double类型的数据精确到小数点后两位 { ...
- .net core mvc中input保留多位小数
本篇介绍:如何在mvc中使用html标签保留多位小数 你需要知道: @html标签的使用: https://blog.csdn.net/pasic/article/details/7093802 js ...
- Java中Double保留后小数位的几种方法
最近做个小实验,其中一部分要求将表单提交的数据转换为double,这个功能其实很简单直接一句Double.parseDouble(request.getParameter("chinese& ...
- oracle中数字保留几位小数的问题
需求:#将数字填充到对应金额单中 select substr(b.payMoney,length(b.payMoney),1) 分, substr(b.payMoney,length(b.payMon ...
- Java中Double保留小数位
1.能四舍五入 double d = 114.145; d = (double) Math.round(d * 100) / 100; System.out.println(d); 2. BigDec ...
- Java多线程(二)——常用的实现多线程的两种方式
一.继承Thread类创建线程类 Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码. ...
- java double 保留x位小数
以下是保留两位的例子 public class Test1 { public static void main(String[] args) { double a = 123450; double d ...
随机推荐
- 调度器46—tick模式
一.tick简介 tick就是一个周期性的中断,周期通过 CONFIG_HZ 进行配置,一般常取值为100Hz.250Hz.1000Hz.Tick 每秒窃取CPU 100 到 1000 次,导致Ica ...
- python3 - Django3.2框架
提示:web开发已有php.java,而python在这方面,没有优势,python的优势在于:爬虫.人工智能.大数据分析等,python在web开发这方面,没必要掌握:版本:稳定版本:3.2(py3 ...
- JAVA格式化数字字符串,如手机号,银行卡号的格式化
格式化手机号码为3 3 5 String mobile = "13123456789"; String regex = "(\\d{3})(\\d{3})(\\d{5}) ...
- nignx 代理前端服务
说明:研发给了一个前端包,需要进行代理访问 前端包名:web 一.部署nginx服务 略 二.配置代理 2.1 将前端包放置任意目录,如/home/manage 2.2 修改nginx配置 [root ...
- 微信小程序-通过绑定事件进行传值
一.数据绑定: <view bindtap="node" data-num="5"> 点击传值:{{nums}} </view> dat ...
- List集合增删元素时,UnsupportedOperationException报错问题
我的情况是这样:从数组转集合,操作集合删除元素. // Tab页面标题第一步:String[] mTitles = getResources().getStringArray(R.array.lead ...
- 多线程事务回滚sqlSession, spring-mybatis 开启事务
@Resource SqlContext sqlContext; /** * 多线程事务. * @param employeeDOList */ @Override public void saveT ...
- java的集合以及数据结构
一.集合 1.介绍 红色为接口 蓝色为实现类 2.三种遍历方式 迭代器 增强for lambda表达式 Integer[] arr = col.toArray(new Integer[col.size ...
- uniapp 通用函数说明
onLoad函数 监听页面加载,在onLoad中发送请求是比较合适的,即页面一加载就发送请求获取数据,option接受其他界面传过来的数据,数据类型为obj onLoad(option) { ...
- FIFO 串口接收处理机制
与安富莱电子的串口处理机制做对比交互 参考链接: https://www.eet-china.com/mp/a161019.html