値のデータ型はFloat
. string
ここでは、値がorではなく数値 (int,float) のみの場合、値を検証する必要がありますspecial character
。
例: 値 = 123df.125
文字列が混在している場合の値の確認方法。
ここで、警告メッセージを表示する必要があります"the value is not proper"
。
値のデータ型はFloat
. string
ここでは、値がorではなく数値 (int,float) のみの場合、値を検証する必要がありますspecial character
。
例: 値 = 123df.125
文字列が混在している場合の値の確認方法。
ここで、警告メッセージを表示する必要があります"the value is not proper"
。
もう 1 つの C++11 ソリューション:
#include <iostream>
#include <string>
#include <stdexcept>
int main()
{
std::string wrong{"123df.125"};
std::string totallyWrong{"A123"};
std::string right{"123.125"};
try
{
size_t pos = 0;
float value = std::stof(right, &pos);
if(pos == right.size())
std::cout << "Good value:" << value << "\n";
else
std::cout << "Provided value is partly wrong!\n";
pos = 0;
value = std::stof(wrong, &pos);
if(pos == right.size())
std::cout << "Good value: " << value << "\n";
else
std::cout << "Provided value is partly wrong!\n";
value = std::stof(totallyWrong, &pos);
}
catch(std::invalid_argument&)
{
std::cout << "Value provided is invalid\n";
}
return 0;
}