gpt4 book ai didi

c++ - 在将字符串转换为 int 之前检查字符串是否不是数字

转载 作者:太空狗 更新时间:2023-10-29 21:22:09 24 4
gpt4 key购买 nike

<分区>

我有一个终端应用程序,它获取用户输入并将其存储在一个字符串中,然后将其转换为一个 int。问题是,如果用户输入任何非数字的内容,转换就会失败,并且脚本会继续执行,而不会显示字符串未转换的任何迹象。有没有办法检查字符串是否包含任何非数字字符。

代码如下:

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main ()
{
string mystr;
float price=0;
int quantity=0;

cout << "Enter price: ";
getline (cin,mystr); //gets user input
stringstream(mystr) >> price; //converts string: mystr to float: price
cout << "Enter quantity: ";
getline (cin,mystr); //gets user input
stringstream(mystr) >> quantity; //converts string: mystr to int: quantity
cout << "Total price: " << price*quantity << endl;
return 0;
}

就在此处进行转换之前:stringstream(mystr) >> price; 如果字符串不是数字,我希望它向控制台打印一行。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com