gpt4 book ai didi

java - float 转换为 int 以获取大值

转载 作者:行者123 更新时间:2023-12-03 13:58:45 24 4
gpt4 key购买 nike

我只有一个基本问题,为什么以下陈述之间存在差异?

System.out.printf("%.2f \n", 55050000.41f);
System.out.printf("%.2f \n", 50.41f);
输出
55050000.00 
50.41
第一条语句删除了一个十进制值,为什么不删除第二条语句?

最佳答案

默认情况下,Java 中的浮点数转换为 64 位 double 数,但由于您使用的是 f 后缀,因此该数将被解释为 32 位浮点数。
这个数字太大了,在不损失精度的情况下不适合 32 位,而 55050000 是最接近的数字。
你可以玩花车here .如果您更改最后一位,您可以看到数字增加了 4。
除非空间有限,否则您可能不想使用 f 后缀。

关于java - float 转换为 int 以获取大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66597358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com