0
stodとstoiの組み合わせはありますか? 私は文字列s = "0.1 1 2.3 3 4.4" とstod_stoi_combined(s)を使用すると、入力が何であるかに応じて倍精度と整数を抽出できますか?stodとstoiのC++の組み合わせ?
stodとstoiの組み合わせはありますか? 私は文字列s = "0.1 1 2.3 3 4.4" とstod_stoi_combined(s)を使用すると、入力が何であるかに応じて倍精度と整数を抽出できますか?stodとstoiのC++の組み合わせ?
標準ライブラリにそのような組み合わせはありません。
関数の戻り値の型はパラメータの値に依存できないため、このような組み合わせはありません。戻り値の型は常に同じであり、時にはint型ではなく、他の倍精度型でもありません。
std::variant<int, double>
を返す関数を書くことができます。 std::variant
は今後のC++ 17まで標準ライブラリの一部ではないことに注意してください。待たなければサードパーティの代替手段を使用する必要があります。
自分で実装するのはどうですか?単純ですね。ヒントが必要な場合はお知らせください。 – hmatar
すべての場合に 'stod'を使い、' std :: modf'を使ってそれが整数かどうかを調べてください。 –
このコメントは、すでに与えられた回答を補完するものであれば答えが必要です。それはまさに私が望んでいたものです。 modfについて聞きませんでしたが、本当に便利です。ああ、それは標準ではない:: modfそれはちょうどmodfです。 – Hakaishin