当我在八位数溢出后在c ++中使用float或double时,如何修复它?
这是我的代码:
#include <iostream.h>
#include <conio.h>
void main() {
double x;
cout<<"double : ";
cin>>x;
cout<<endl<<x;
getch();
}
当cin = 123456789时,这是我的cout:123457e.08。
答案 0 :(得分:5)
使用dot:double x = 2398479238749234.0
答案 1 :(得分:2)
如果你宣布一个浮点数,你可以在最后输入f
,如下所示:
float var = 123456789.0f;
一个简单而有趣的演示:
要了解f
尝试此代码的重要性:
float f1 = 1.3f;
//test f1
if ( f1 == 1.3f )
std::cout<<"f1 is equal to 1.3f"<<std::endl;
else
std::cout<<"f1 is not equal to 1.3f"<<std::endl;
float f2 = 1.3;
//test f2
if ( f2 == 1.3 )
std::cout<<"f2 is equal to 1.3"<<std::endl;
else
std::cout<<"f2 is not equal to 1.3"<<std::endl;
输出:
f1等于1.3f
f2不等于1.3
请参阅ideone上的演示:http://www.ideone.com/QvzEp