Under Java Type强制转换如何工作?

阿努·夏玛(Anuj Sharma)

输出结果如何为“ 1”?

long number = 499_999_999_000_000_001L;    
double converted = (double) number;
System.out.println(number - (long) converted);
刮刀

TLDR:是因为溢出位

如果您查看Java文档Double.MAX_VALUE您将观察到java支持的最大双精度整数值为2 ^ 53≅10 ^ 16,但在类型转换后您的值变为(4.99999999 * 10 ^ 17),该值超出double的范围,因此由于溢出而被四舍五入。为了更好地理解,请运行此代码。

public class Main
{
    public static void main(String[] args) {
        long longNumber = 499_999_999_000_000_001L;
        double doubleNumber = (double) longNumber;
        long longConverted = (long)doubleNumber;
        System.out.println(longNumber+" "+doubleNumber+" "+longConverted);
    }
}

其输出将是:

499999999000000001 4.99999999E17 499999999000000000

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java:如何强制向上转换?

来自分类Dev

java字节转换如何工作

来自分类Dev

Scala Java转换如何工作?

来自分类Dev

在 Java 中向上转换是如何工作的?

来自分类Dev

强制转换为Java类型

来自分类Dev

在Java中强制转换clone()

来自分类Dev

Java布尔null强制转换

来自分类Dev

Java / Android-具有Type的Gson()。fromJson()仍给出未经检查的强制转换警告

来自分类Dev

强制转换和泛型如何工作?

来自分类Dev

如何修复:java.lang.ClassCastException:无法将java.util.ArrayList强制转换为java.lang.Integer

来自分类Dev

如何修复:java.lang.ClassCastException:无法将java.util.ArrayList强制转换为java.lang.Integer

来自分类Dev

如何在Java中使用反射将字段强制转换为特定类?

来自分类Dev

如何从不带参数的Java中的静态泛型函数强制转换?

来自分类Dev

如何实现Java通用数据结构,避免类型擦除强制转换问题

来自分类Dev

如何避免在策略模式中使用Java和泛型进行未经检查的强制转换

来自分类Dev

如何在Java中通过反射强制转换通用基类型?

来自分类Dev

Java泛型,如何在没有instanceof或强制转换的情况下执行此操作?

来自分类Dev

如何从不带参数的Java中的静态泛型函数强制转换?

来自分类Dev

如何避免在策略模式中使用Java和泛型进行未经检查的强制转换

来自分类Dev

如何在Java中通过反射强制转换通用基本类型?

来自分类Dev

Java在if / else块中强制转换

来自分类Dev

反对Java中的类强制转换异常

来自分类Dev

Java:强制转换为接口和继承

来自分类Dev

Java类/对象强制转换何时适用

来自分类Dev

ArrayList强制转换为Java组合框

来自分类Dev

Java类型擦除:强制转换插入规则?

来自分类Dev

Java继承而不进行强制转换

来自分类Dev

Java rawImageInputStream无法强制转换-imageIO

来自分类Dev

Java-强制转换为接口,然后找出强制类型

Related 相关文章

  1. 1

    Java:如何强制向上转换?

  2. 2

    java字节转换如何工作

  3. 3

    Scala Java转换如何工作?

  4. 4

    在 Java 中向上转换是如何工作的?

  5. 5

    强制转换为Java类型

  6. 6

    在Java中强制转换clone()

  7. 7

    Java布尔null强制转换

  8. 8

    Java / Android-具有Type的Gson()。fromJson()仍给出未经检查的强制转换警告

  9. 9

    强制转换和泛型如何工作?

  10. 10

    如何修复:java.lang.ClassCastException:无法将java.util.ArrayList强制转换为java.lang.Integer

  11. 11

    如何修复:java.lang.ClassCastException:无法将java.util.ArrayList强制转换为java.lang.Integer

  12. 12

    如何在Java中使用反射将字段强制转换为特定类?

  13. 13

    如何从不带参数的Java中的静态泛型函数强制转换?

  14. 14

    如何实现Java通用数据结构,避免类型擦除强制转换问题

  15. 15

    如何避免在策略模式中使用Java和泛型进行未经检查的强制转换

  16. 16

    如何在Java中通过反射强制转换通用基类型?

  17. 17

    Java泛型,如何在没有instanceof或强制转换的情况下执行此操作?

  18. 18

    如何从不带参数的Java中的静态泛型函数强制转换?

  19. 19

    如何避免在策略模式中使用Java和泛型进行未经检查的强制转换

  20. 20

    如何在Java中通过反射强制转换通用基本类型?

  21. 21

    Java在if / else块中强制转换

  22. 22

    反对Java中的类强制转换异常

  23. 23

    Java:强制转换为接口和继承

  24. 24

    Java类/对象强制转换何时适用

  25. 25

    ArrayList强制转换为Java组合框

  26. 26

    Java类型擦除:强制转换插入规则?

  27. 27

    Java继承而不进行强制转换

  28. 28

    Java rawImageInputStream无法强制转换-imageIO

  29. 29

    Java-强制转换为接口,然后找出强制类型

热门标签

归档