c ++中的浮点变量

Ali*_*exo 0 c++ double

当我在八位数溢出后在c ++中使用float或double时,如何修复它?

这是我的代码:

#include <iostream.h> 
#include <conio.h> 
void main() { 
  double x; 
  cout<<"double : "; 
  cin>>x; 
  cout<<endl<<x; 
  getch(); 
}
Run Code Online (Sandbox Code Playgroud)

当cin = 123456789时,这是我的cout:123457e.08.

Bar*_*ter 5

使用dot:double x = 2398479238749234.0

  • 只是详细说明BarsMonster的答案:通过省略小数点,您实际上使用的是整数文字,其最大值为INT_MAX(通常为2147483647).如果指定一个更大的数字,它将溢出.只有在此之后,该值才会被隐式转换为double. (5认同)