C ++文字列変換(stoi; stol; stoul; stoll; stoull; stof; stod; stold)
C String Conversion Stoi
転載: C ++文字列変換(stoi stol stoul stoll stoull stof stod stold)
ヘッダーファイル文字列
double stod (const string& str, size_t* idx = 0) double stod (const wstring& str, size_t* idx = 0)
文字列をdoubleに変換する
strを解析して、その内容を浮動小数点数として解釈すると、値はdouble値として返されます。
idxがnullポインターでない場合、関数はidxの値を数値の後のstrの最初の文字の位置にも設定します。
この関数は、strtod(またはwcstod)を使用して変換を実行します(このプロセスの詳細については、strtodを参照してください)。これらの関数で受け入れられる形式は、現在のロケールによって異なることに注意してください。
パラメータ
- p
浮動小数点表現の文字列オブジェクト。 - idx
関数によって値がstr内の次の文字位置の値に設定されるsize_t型のオブジェクトへのポインタ。
このパラメーターは、ヌルポインターにすることもできます。その場合、このパラメーターは使用されません。
戻り値
成功すると、関数は変換された浮動小数点数をdouble値として返します。
// stod example #include // std::cout #include // std::string, std::stod
int main()
{{
std :: string軌道(「365.24 29.53」)
std :: string :: size_type sz // size_tのエイリアス
ダブルアース= std :: stod(orbits、&sz)
ダブルムーン= std :: stod(orbits.substr(sz))
std :: cout<< “The moon completes ' << (earth/moon) << ' orbits per Earth year.
”
0を返す
}
- 1
- 二
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 十一
- 12
- 13
- 14
複雑さ
指定されていませんが、通常、解釈される文字数は線形です。
データ範囲
idxが指す値を変更します(ゼロでない場合)。
異常な
変換を実行できない場合、invalid_argument例外がスローされます。
読み取られた値がdoubleの表現可能な値の範囲を超えると(一部のライブラリ実装では、これにはアンダーフローが含まれます)、out_of_range例外がスローされます。
無効なidxは、未定義の動作を引き起こします。
8、盗まれた
ヘッダーファイル文字列
long double stold (const string& str, size_t* idx = 0) long double stold (const wstring& str, size_t* idx = 0)
文字列をlongdoubleに変換します
strを解析して、その内容を浮動小数点数として解釈すると、値はlongdouble型として返されます。
idxがnullポインターでない場合、関数はidxの値を数値の後のstrの最初の文字の位置にも設定します。
この関数は、strtold(またはwcstold)を使用して変換を実行します(このプロセスの詳細については、strtodを参照してください)。
パラメータ
- p
浮動小数点表現の文字列オブジェクト。 - idx
関数によって値がstr内の次の文字位置の値に設定されるsize_t型のオブジェクトへのポインタ。
このパラメーターは、ヌルポインターにすることもできます。その場合、このパラメーターは使用されません。
戻り値
成功すると、関数は変換された浮動小数点数をlongdouble値として返します。
// stold example #include // std::cout #include // std::string, std::stod
int main()
{{
std :: string軌道(「90613.305365.24」)
std :: string :: size_type sz // size_tのエイリアス
long double pluto = std :: stod(orbits、&sz)
長い二重地球= std :: stod(orbits.substr(sz))
std :: cout<< “Pluto takes ' << (pluto/earth) << ' years to complete an orbit.
”
0を返す
}
- 1
- 二
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 十一
- 12
- 13
- 14
複雑さ
指定されていませんが、通常、解釈される文字数は線形です。
データ範囲
idxが指す値を変更します(ゼロでない場合)。
異常な
変換を実行できない場合、invalid_argument例外がスローされます。
読み取られた値が表現可能な値の範囲を超えると(一部のライブラリ実装では、これにはアンダーフローが含まれます)、out_of_range例外がスローされます。
無効なidxは、未定義の動作を引き起こします。