当前位置: 首页 > news >正文

黄岛网站建设服务公司建设银行信用卡申请网站

黄岛网站建设服务公司,建设银行信用卡申请网站,三创大赛网站建设,兰州官网seo分析1.背景 1.10.1 1.2000000000000002 发现上面计算的值竟然和数学计算不一致 2. 问题 计算机是通过二进制计算的#xff0c;如果我们在二进制的视角来看待上面问题#xff0c;就很容易发现问题了。 例如#xff1a;把「0.1」转成二进制的表示#xff0c;然后还原成十进制0.1 1.2000000000000002 发现上面计算的值竟然和数学计算不一致 2. 问题 计算机是通过二进制计算的如果我们在二进制的视角来看待上面问题就很容易发现问题了。 例如把「0.1」转成二进制的表示然后还原成十进制就能看出问题。 3. 0.1转二进制 小数转二进制是通过除法进行的 0.1 1 ÷ 10 很简单二进制就是要算 1 ÷ 1010 最终0.1转二进制是0.0001100110011001100110011001100110011001100110011001101 4.转换成对应精度数值 float的精度为7~8位有效数字7位肯定能保证8位的值也存在。 double的精度为16~17位有效数字 所以 二进制展示 1.10.1 1.0011001100110011001100110011001100110011001100110100 十进制展示 1.10.1 1.2000000000000002 5.解决方案 针对浮点数丢失精度的问题我们可以通过BigDecimal来解决 new BigDecimal(double val) 该方法是不可预测的以0.1为例你以为你传了一个double类型的0.1最后会返回一个值为0.1的BigDecimal吗不会的原因在于0.1无法用有限长度的二进制数表示无法精确地表示为双精度数最后的结果会是0.100000xxx。 new BigDecimal(String val) 该方法是完全可预测的也就是说你传入一个字符串0.1他就会给你返回一个值完全为01的BigDecimal官方也表示能用这个构造函数就用这个构造函数叭。 BigDecimal.valueOf(double val) 第二种构造方式已经足够优秀可你还是想传入一个double值怎么办呢官方其实提供给你思路并且实现了它可以使用Double.toString(double val)先将double值转为String再调用第二种构造方式你可以直接使用静态方法valueOf(double val)。 总结将double转为BigDecimal的时候需要先把double转换为字符串然后再作为BigDecimal(String val)构造函数的参数这样才能避免出现精度问题。
http://www.hkea.cn/news/14377834/

相关文章:

  • 做网站优化有什么好处外国网站界面
  • 三明建设局网站大连建设网球场价格
  • 宣传类的网站有哪些官网推广运营的步骤有哪些
  • 京推推cms网站建设免费云服务器永久使用下载
  • 中山网站建设设计效果图哪个网站好
  • 农庄网站亚马逊的网站建设
  • 达州市网站建设重庆市建设网站首页
  • 网站建设 类网站购买流程
  • 做业务不花钱的网站有哪些淘宝搜索关键词排名
  • 中国空间站有多大镇江网站建设优化案例分析
  • 做网站赌钱犯法吗网站错误模板
  • 网站开发的基本知识网页设计总结经验
  • 免费个人网站源码php大数据免费查询平台
  • 西安苗木行业网站建设价格公司页面网站设计模板
  • 个人域名可以做企业网站吗给您更优质的服务体验
  • 有专门做网站的公司吗做优化很好的网站
  • 宝安住房和建设局网站官网做网站的准备什么
  • 花生壳域名可以做网站域名吗做网站需要的信息
  • 网站服务费怎么做分录wordpress域名+文件
  • 龙岩kk网招聘最新消息跟我学seo从入门到精通
  • 上海建筑建材业网站迁移注册公司怎么收费标准
  • 网站订单系统模板哈尔滨建设网证照查询
  • 微信公众号的h5网站开发手机软件商店
  • seo培训多少钱泉州seo网站建设费用
  • 高端企业网站设计郑州app开发网站建设
  • 潍坊网站建设最新报价长春网长春网络推广站排名
  • 网站开发的技术简介是什么京东网站建设步骤
  • 前程无忧做一年网站多钱阿里云学生认证免费服务器
  • 济南哪里有做网站的公司深圳网站建设公司市场
  • 济南做网站比较好的公司有哪些wordpress 前台上传图片