为了账号安全,请及时绑定邮箱和手机立即绑定

如何使CIN只取数字

如何使CIN只取数字

C++
慕莱坞森 2019-07-05 15:47:17
如何使CIN只取数字这是代码double enter_number(){   double number;   while(1)   {         cin>>number;         if(cin.fail())         {             cin.clear();             cin.ignore(numeric_limits<streamsize>::max(), '\n');             cout << "Invalid input " << endl;         }         else         break;         cout<<"Try again"<<endl;   }   return number;}我的问题是,当我输入类似于1x的内容时,就会将1作为输入,而不会注意到在另一次运行中遗漏的字符。有没有办法使它与任何实数(如1.8)一起工作?
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

它冲过缓冲器。您还可以在使用CIN和getline时使用它,同时将输入作为CIN离开缓冲区中的‘\n’,并且不删除(我相信,不完全确定,可能是cin.get),所以getline在遇到‘\n’之后,只要附加到输入缓冲区,就会被分隔。

查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 722 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信