gpt4 book ai didi

c++验证字符串中的 double

转载 作者:太空宇宙 更新时间:2023-11-04 13:27:37 24 4
gpt4 key购买 nike

请原谅任何业余错误,我对此还是很陌生。对于我的类(class),我们需要将双输入转换为字符串以用于项目的不同部分。整数验证工作正常,我尝试使用上一个问题 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 (even if it has a point in it)?我可以肯定地说我不知道​​发生了什么。

最佳答案

如果您真的热衷于手动操作,请查看以下方法:

How to manually parse a floating point number from a string

https://www.daniweb.com/programming/software-development/code/217315/c-function-stod-string-to-double-convert-a-string-to-a-double

并阅读评论。这不是很简单,但应该可以。或者更好的是,检查 C++ 中的 stod 代码。

关于c++验证字符串中的 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32816807/

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