除以100时的问题

Problems while dividing by 100

本文关键字:问题 100时 除以      更新时间:2023-10-16

你好,我是编程新手,遇到了一个问题,我有一个整数,例如158,我把它除以100,我得到的是1,但我想要1.58而不是

这可能是已知的问题,但对不起,我现在不知道:)

将其强制转换为float number

int i = 158;
float f = (float)i / 100;  //less precision
double d = (double)i / 100;  //more precision
//other way
int i = 158;
float f = i / 100.0;  //less precision
double d = i / 100.0;  //more precision

你所做的是将整数除以整数,在这种情况下结果总是整数,为了得到浮点数,两个操作数中至少有一个必须是浮点数

您需要除以100.0而不是100

在c++中除以一个整数总是会得到一个整数,所以它永远不会完全准确。如上所述,您可以除以一个double或long来得到您想要的精确的十进制数。