まだまだ初心者なので素人のミスはご容赦ください。私のクラスでは、double 入力を文字列に変換して、プロジェクトの別の部分で使用する必要があります。整数の検証は問題なく機能し、この前の質問Validating a double in c++のコードの一部を使用しようとし ましたが、残念ながら機能しませんでした。
これが私のコードです:
string input;
bool valid;
double num;
//Verification of valid inputs
do
{
valid = true;
cout << "What is the " << name << " rate of the population? (% per year): ";
getline(cin, input);
num = input.length();
if (num == 0)
{
cout << "\nNo data was entered, please enter a number.\n";
valid = false;
}
else
{
for (double i = 0; i < num; i++)
{
if (input.at(i) < '0' || input.at(i) > '9')
{
cout << "\nPlease enter a valid, positive number.\n";
valid = false;
break;
}
}
}
} while (valid == false);
return stod(input);
ありがとう。
編集:私はこれを見つけましたHow do i verify a string is valid double (たとえポイントが含まれていても) 何が起こっているのかわからないと言っても過言ではありません。