嗨,我正在尝试将2个非常大的双数相除,结果仅是整数。如果使用Math.ceil或强制转换为int,则得到的结果少1个或多1个。做这个的最好方式是什么。
我尝试了类型转换和Math.ceil函数。
double num1=sum-totalsum;
double d=(num1*totalmul);
double diff=mul-totalmul;
double missing=d/diff;
double repeated=missing+num1;
System.out.println((int)Math.ceil(repeated)+" "+(int)Math.ceil(missing));
预期结果为整数。重复和丢失总是int。
答案 0 :(得分:1)
我相信您正在寻找的是Math.round()
所以:
System.out.println((int)Math.round(repeated)+" "+(int)Math.round(missing));