四舍五入为6.02E23时,java到底是做什么的?

时间:2019-02-19 12:48:44

标签: java

我想知道为什么当我编写语句9223372036854775807时Java会给我打印那个数字System.out.print(Math.round(6.02e23)。 java到底在做什么?

1 个答案:

答案 0 :(得分:7)

Math.round()返回一个long。但是您的数字溢出了Long的最大值,这使其可能返回最大的long值:9223372036854775807

来自the JavaDoc

  

如果参数为正无穷大或大于或等于   等于Long.MAX_VALUE的值,结果等于该值   Long.MAX_VALUE

6.02e23        = 602000000000000000000000 
Long.MAX_VALUE =      9223372036854775807