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

如何做网站链接分享朋友圈烟台网站建设联系电话

如何做网站链接分享朋友圈,烟台网站建设联系电话,专业营销网站,大型网站开发像天猫类的一、前言 在使用Java#xff0c;double 进行运算时#xff0c;经常出现精度丢失的问题#xff0c;总是在一个正确的结果左右偏0.0000**1。 特别在实际项目中#xff0c;通过一个公式校验该值是否大于0#xff0c;如果大于0我们会做一件事情#xff0c;小于0我们又处理其他…一、前言   在使用Javadouble 进行运算时经常出现精度丢失的问题总是在一个正确的结果左右偏0.0000**1。 特别在实际项目中通过一个公式校验该值是否大于0如果大于0我们会做一件事情小于0我们又处理其他事情。 这样的情况通过double计算出来的结果去和0比较大小尤其是有小数点的时候经常会因为精度丢失而导致程序处理流程出错。 二、利用BigDecimal进行运算 /** * 对double数据进行取精度. * param value double数据. * param scale 精度位数(保留的小数位数). * param roundingMode 精度取值方式. * return 精度计算后的数据. */ public static double round(double value, int scale, int roundingMode) { BigDecimal bd new BigDecimal(value); bd bd.setScale(scale, roundingMode); double d bd.doubleValue(); bd null; return d; } /** * double 相加 * param d1 * param d2 * return */ public double sum(double d1,double d2){ BigDecimal bd1 new BigDecimal(Double.toString(d1)); BigDecimal bd2 new BigDecimal(Double.toString(d2)); return bd1.add(bd2).doubleValue(); } /** * double 相减 * param d1 * param d2 * return */ public double sub(double d1,double d2){ BigDecimal bd1 new BigDecimal(Double.toString(d1)); BigDecimal bd2 new BigDecimal(Double.toString(d2)); return bd1.subtract(bd2).doubleValue(); } /** * double 乘法 * param d1 * param d2 * return */ public double mul(double d1,double d2){ BigDecimal bd1 new BigDecimal(Double.toString(d1)); BigDecimal bd2 new BigDecimal(Double.toString(d2)); return bd1.multiply(bd2).doubleValue(); } /** * double 除法 * param d1 * param d2 * param scale 四舍五入 小数点位数 * return */ public double div(double d1,double d2,int scale){ // 当然在此之前你要判断分母是否为0 // 为0你可以根据实际需求做相应的处理 BigDecimal bd1 new BigDecimal(Double.toString(d1)); BigDecimal bd2 new BigDecimal(Double.toString(d2)); return bd1.divide (bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); } 三、BigDecimal的8种舍入模式 在银行、帐户、计费等领域BigDecimal提供了精确的数值计算。其中8种舍入方式值得掌握。 1、ROUND_UP 舍入远离零的舍入模式。 在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。 注意此舍入模式始终不会减少计算值的大小。 2、ROUND_DOWN 接近零的舍入模式。 在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1即截短)。 注意此舍入模式始终不会增加计算值的大小。 3、ROUND_CEILING 接近正无穷大的舍入模式。 如果 BigDecimal 为正则舍入行为与 ROUND_UP 相同; 如果为负则舍入行为与 ROUND_DOWN 相同。 注意此舍入模式始终不会减少计算值。 4、ROUND_FLOOR 接近负无穷大的舍入模式。 如果 BigDecimal 为正则舍入行为与 ROUND_DOWN 相同; 如果为负则舍入行为与 ROUND_UP 相同。 注意此舍入模式始终不会增加计算值。 5、ROUND_HALF_UP 向“最接近的”数字舍入如果与两个相邻数字的距离相等则为向上舍入的舍入模式。 如果舍弃部分 0.5则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同。 注意这是我们大多数人在小学时就学过的舍入模式(四舍五入)。 6、ROUND_HALF_DOWN 向“最接近的”数字舍入如果与两个相邻数字的距离相等则为上舍入的舍入模式。 如果舍弃部分 0.5则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同(五舍六入)。 7、ROUND_HALF_EVEN 向“最接近的”数字舍入如果与两个相邻数字的距离相等则向相邻的偶数舍入。 如果舍弃部分左边的数字为奇数则舍入行为与 ROUND_HALF_UP 相同; 如果为偶数则舍入行为与 ROUND_HALF_DOWN 相同。 注意在重复进行一系列计算时此舍入模式可以将累加错误减到最小。 此舍入模式也称为“银行家舍入法”主要在美国使用。四舍六入五分两种情况。 如果前一位为奇数则入位否则舍去。 以下例子为保留小数点1位那么这种舍入方式下的结果。 1.151.2 1.251.2 8、ROUND_UNNECESSARY 断言请求的操作具有精确的结果因此不需要舍入。 如果对获得精确结果的操作指定此舍入模式则抛出ArithmeticException。  转载于:https://www.cnblogs.com/flydkPocketMagic/p/7449150.html
http://www.yutouwan.com/news/327134/

相关文章:

  • 大庆市建设局网站刘东吉林省吉林市昌邑区
  • 百度广告搜索引擎公司的seo是什么意思
  • 网站建设工作计划做网站对企业的好处
  • 网站建设推广新闻手机app开发制作推荐
  • 保定网站制作系统河南省城乡和住房建设厅网站
  • 做网站个人东莞公司网站搭建多少钱
  • 永久免费的网站服务器有哪些软件国外代理ip
  • 自学网站建设作业同学录wordpress
  • 新农村建设的网站google官方版下载
  • 网站建设设计时代创信好织梦网站模板源码
  • 双公示网站专栏建设情况apicloud开发教程
  • 网站模板库官网织梦怎么做企业网站
  • 济南汽车网站设计建设网站需要体现的流程有哪些内容
  • 做外包胡it网站网站制作公透明清晰
  • 做网站用什么语音深圳网络营销十年乐云seo专家
  • 网站开发人员考核指标手机访问网站页面丢失
  • 培训加盟网站建设wordpress手机访问主题
  • 普通网站和营销型网站的区别是什么企业邮箱注册申请免费163
  • 网站开发价格预算在线oa免费crm
  • 宣传展示型网站设计免费信息发布网站有哪些
  • 站长源码论坛南宁网站建设云尚网络
  • 建设网站买了域名还要什么资料系统网站推广方案怎么做
  • 上海高端网站定设计师做私单网站
  • 让网站快速收录中国城乡住房建设厅网站首页
  • 微信 购物网站开发做网站的备案
  • 学校设计网站方案简述建站流程
  • 北京网站建设招聘榆林市建设局官方网站
  • 创造网站的最简单 软件是哪个河南网站优化要多少钱
  • 建设网站时的故障分类wordpress yum
  • 网站费用标准云存储能用来做网站吗