双精度四舍五入到最接近的整数的问题

问题描述 投票:0回答:1

[与许多其他帖子不同,我想找出为什么我的代码会自动舍入到最接近的整数?

在此处查看代码

    double sixes = 200/3;
    double threes = 100/3;

    System.out.println("Sixes: " + sixes + "\nThrees: " + threes);

在此处查看输出

6:66.0

Threes:33.0

这两个分别应分别为66.66666666666和33.3333333333,但我不确定为什么将它们四舍五入?

java math rounding division
1个回答
0
投票

该算法取决于最复杂的参数。您计算整数,因此使用一种算法来生成整数作为输出。最终,该整数被隐式转换为double以适合您的变量。]​​>

尝试double sixes = 200.0/3.0;验证。

© www.soinside.com 2019 - 2024. All rights reserved.