cout << (float(5 / 2)) << endl;
它只是在屏幕上打印2
而不是2.5
,为什么?
怎么做得好?
答案 0 :(得分:0)
问题不在于你没有正确投射,而是你没有在正确的时间做这件事。由于优先级,2 / 5
将首先进行整数除法,并保留2
。然后将其转换为double,其保持为2
。如果你想将它作为2.5
,你必须在进行除法之前进行投射。这看起来像是:
std::cout << (float)5 / (float)2 << std::endl;