Java乘法*

Java乘法*,java,multiplication,Java,Multiplication,为什么在Java中使用。*? 比如说 double probability = 1.*count/numdata; 提供与以下相同的输出: double probability = count/numdata; 如果count和numdata为整数:int或long则结果将再次为整数(整除),因此分数丢失;被截断的,甚至不是四舍五入的。由于概率介于0.0和1.0之间,因此numdata>=count,因此只能得到0或1 最简单的方法是使用除法浮点: double probability =

为什么在Java中使用。*? 比如说

double probability = 1.*count/numdata;
提供与以下相同的输出:

double probability = count/numdata;

如果
count
numdata
为整数:
int
long
则结果将再次为整数(整除),因此分数丢失;被截断的,甚至不是四舍五入的。由于概率介于0.0和1.0之间,因此numdata>=count,因此只能得到0或1

最简单的方法是使用除法浮点:

double probability = ((double)count) / numdata;
或者(更令人困惑!)


什么类型是
cout
numdata
?如果
count
numdata
都是整数,则不是。它们都是整数,有什么区别?请阅读整数除法。可能重复:因此int可以存储例如26.5?整数不总是整数吗?例如26?53/2=26,(int)26.5==26。“整数”或法语“entier”的意思是整数,你是对的:只能存储整数。
double probability = count;
probability /= numdata;