如果我有这样的条件;
int a = 1;
int b = 3;
if ((a/b) > 0) ...中间结果(a/b)是像浮点型(0.33)还是整型(0,因为四舍五入)?我来自VB6世界,在那里这个条件的计算结果为false,因为当将两个整数相除时,中间结果也将是一个整数(并且0>0= false)。
发布于 2013-01-20 22:55:05
除以两个整数会导致整数除法,即结果被截断。在这种情况下,它的值始终为0。如果您希望结果是一个浮点值,您可以简单地将一个int除以一个浮点数,将一个浮点数除以一个int或两个浮点数。(类似的行为可以通过将至少一个操作数强制转换为浮点类型来实现。)
https://stackoverflow.com/questions/14425715
复制相似问题