Java电商项目面试--浮点型商业运算中丢失精度问题 曾经终败给现在 2021-09-27 07:56 282阅读 0赞 > **面试题:如何解决浮点型商业运算中丢失精度问题 > 面试题:Java中一般用什么类型表示价格(百度面试题)** **一、问题描述** **代码:** public class BigDecimalTest{ @test public void test1(){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println(123.3/100); } } //运行结果 //0.060000000000005 //0.57000000000000001 //401.499999999999994 //1.2329999999999999 **二、使用BigDecimal** **代码:** public class BigDecimalUtil { public static BigDecimal add(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.add(b2); } public static BigDecimal sub(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.subtract(b2); } public static BigDecimal mul(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.multiply(b2); } public static BigDecimal div(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);//四舍五入,保留2位小数 } } -------------------- **Java面试的完整博客目录如下:[Java笔试面试目录][Java]** > **转载请标明出处,原文地址:[https://blog.csdn.net/weixin\_41835916][https_blog.csdn.net_weixin_41835916] 如果觉得本文对您有帮助,请点击顶支持一下,您的支持是我写作最大的动力,谢谢。 > ![这里写图片描述][70]** [Java]: https://blog.csdn.net/weixin_41835916/article/details/81413498 [https_blog.csdn.net_weixin_41835916]: https://blog.csdn.net/weixin_41835916 [70]: /images/20210923/b198df0439e04b7a87a69500b14ed39d.png
相关 Java浮点数运算精度问题示例 在Java中,浮点数的运算可能会出现精度问题。这主要是因为Java使用IEEE 754标准来表示和处理浮点数。 以下是一个简单的例子,展示了浮点数运算可能存在的精度问题: 今天药忘吃喽~/ 2024年09月10日 15:54/ 0 赞/ 31 阅读
相关 js 进行浮点型运算精度缺失 js 进行浮点型运算精度缺失 js字符串转数字 parseFloat() js 进行浮点型运算函数 <script type="text/j 本是古典 何须时尚/ 2024年02月18日 17:02/ 0 赞/ 21 阅读
相关 聊聊Java中浮点丢失精度的事 在说这个之前,我们先看看十进制到二进制的转换过程 整数的十进制到二进制的转换过程 用白话说这个过程就是不断的除2,得到商继续除,直到商小于1为止,然后他每次结果的余数倒 左手的ㄟ右手/ 2023年10月15日 16:46/ 0 赞/ 70 阅读
相关 Java 浮点型(Double,Float)精度丢失解决方案 前言 最近公司某小伙子做了一个商城的微信支付相关的接口,其中包含退款,在测试过程中发现部分单据没有退款,微信支付提示退款金额跟支付金额不匹配(大于支付金额),检查数据库和 柔情只为你懂/ 2023年02月25日 08:39/ 0 赞/ 99 阅读
相关 Java浮点类型(Double/Float)运算精度问题 问题的提出: 如果我们编译运行下面这个程序会看到什么? public class Test{ public static void main ﹏ヽ暗。殇╰゛Y/ 2022年06月15日 05:07/ 0 赞/ 216 阅读
相关 js运算精度丢失问题 今天出现了一个运算bug,求总计的时候出现精度问题。 下面的输入框求和,总计之后得到了这样的数字。 ![20190301144321163.png][] 现在很多人js加 ゞ 浴缸里的玫瑰/ 2022年03月15日 07:40/ 0 赞/ 327 阅读
相关 电商项目面试问题 1.说说你最近做的这个项目的背景,简单的介绍一下你这个项目? 背景 电商项目的背景一般是由市场推动的,比如行业竞争或者经营方式的改变(营销理念)。竞争的形态也发生了巨大 一时失言乱红尘/ 2022年02月19日 01:01/ 0 赞/ 399 阅读
相关 Java中double或float运算丢失精度问题 Java中double或float运算丢失精度问题 > 计算机内部是用的是二进制码,当输入float或者double类型的十进制数进行运算的时候,会先转化成二进制数再进行 秒速五厘米/ 2021年12月05日 14:45/ 0 赞/ 436 阅读
相关 Java电商项目面试--浮点型商业运算中丢失精度问题 > 面试题:如何解决浮点型商业运算中丢失精度问题 > 面试题:Java中一般用什么类型表示价格(百度面试题) 一、问题描述 代码: public class 曾经终败给现在/ 2021年09月27日 07:56/ 0 赞/ 283 阅读
还没有评论,来说两句吧...