我做了一些计算,结果是 0.000137 * 0.000137 = 0.000000018769
我将答案保存在float y
中但似乎保存为1.88788682e-008
我希望将其保存为0.000000018769
我尝试了类型double但得到了相同的答案
int main()
{
float y= 0.000137*0.000137;
return 0;
}
调试时,y出现在手表中,为0.000137 * 0.000137
答案 0 :(得分:1)
您无法控制浮点数存储的方式(无论如何这几乎无关紧要)。你可以控制它们的打印方式。如果您想在没有科学记数法的情况下打印出来,可以使用std::fixed
来获取它:
int main() {
float y = 0.000137*0.000137;
std::cout << std::fixed << std::setprecision(12) << y << "\n";
}
结果:
0.000000018769
答案 1 :(得分:-1)