Java双精度/整数

Java双精度/整数,java,math,int,double,Java,Math,Int,Double,我该如何进行计算? 向上还是向下? 应该是: 1/10*3=0.1*3=0.3=0和 4/10*3=0.4*3=1.2=1 非常感谢 1/10 此行返回0.so 0*3=0。请使用double而不是int 这是整数除法,作为整数除法,结果是0。 那么0*3=0 可以使用双文本: 1 / 10 由于a和b都是整数,因此输出也将是int,这使得1/10为0,然后0*3=0 1.0 / 10.0 您将希望使用浮点表示法执行计算。然后您可以将结果转换回整数。我注意到您在问题中提到了向上/向下舍入 我

我该如何进行计算? 向上还是向下? 应该是: 1/10*3=0.1*3=0.3=0和 4/10*3=0.4*3=1.2=1

非常感谢

1/10

此行返回0.so 0*3=0。请使用double而不是int

这是整数除法,作为整数除法,结果是0。 那么0*3=0

可以使用双文本:

1 / 10

由于a和b都是整数,因此输出也将是int,这使得1/10为0,然后0*3=0

1.0 / 10.0

您将希望使用浮点表示法执行计算。然后您可以将结果转换回整数。

我注意到您在问题中提到了向上/向下舍入

我会帮你的

返回与参数最接近的long。结果四舍五入为一个整数 通过添加1/2、获取结果的底数并强制转换 结果输入长

这将起作用

int d = (int) (((double)4/10)*3);

如果需要的话,可以将其反求,或者将其四舍五入为int。这不起作用-1/10仍然是整数除法,因此结果再次是double类型的0,这些是浮点。要指定双附加D.@SteveKuo:no。如果你在它后面加上F或F.OP,它只是一个浮点数,请接受你的答案,而不是在问题中添加信息。单击答案左侧的灰色复选标记。这向每个人表明问题确实得到了回答,并且你对答案感到满意。
int d = (int) (((double)4/10)*3);
int a = 1;
int b = 10;
int c = 3;    
int d = (1*3/10);    
System.out.println(d);