java吧 关注:1,224,886贴子:12,680,855
  • 8回复贴,共1

求大哥帮忙指导一下两个double类型的数字相乘的问题

只看楼主收藏回复


第九行和第十行数字换了,结果是一样的;另外,为什么第11、12行和第18、19行结果都应该是4位小数,但是结果却不一样。


IP属地:广东1楼2020-01-08 20:19回复
    顶一下!!


    IP属地:广东2楼2020-01-08 20:44
    回复
      因为浮点数表示数据有精度丢失


      IP属地:北京来自Android客户端3楼2020-01-08 21:03
      收起回复
        二进制跟十进制互转原理懂不?


        IP属地:上海来自Android客户端4楼2020-01-09 00:03
        回复
          0.0435转二进制是0.000010110010001011010000111001010110000001000001100010011再转十进制就是0.043500000000000004


          IP属地:上海来自Android客户端5楼2020-01-09 00:05
          回复
            同理0.0156转二进制是0.0000001111111110010111001001000111010001010011100011101111再转成十进制正好是0.0156


            IP属地:上海来自Android客户端6楼2020-01-09 00:07
            回复
              double在java中是64位的


              IP属地:上海来自Android客户端7楼2020-01-09 00:08
              收起回复