What's the right way to parseFloat in Java

后端 未结 7 1826
[愿得一人]
[愿得一人] 2021-01-12 01:52

I notice some issues with the Java float precision

       Float.parseFloat(\"0.0065\") - 0.001  // 0.0055000000134110451
       new Float(\"0.027\") - 0.001          


        
7条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-12 02:29

    Floating point cannot accurately represent decimal numbers. If you need an accurate representation of a number in Java, you should use the java.math.BigDecimal class:

    BigDecimal d = new BigDecimal("0.0065");
    

提交回复
热议问题