2016-10-13 8 views
0

stodとstoiの組み合わせはありますか? 私は文字列s = "0.1 1 2.3 3 4.4" とstod_stoi_combined(s)を使用すると、入力が何であるかに応じて倍精度と整数を抽出できますか?stodとstoiのC++の組み合わせ?

+0

自分で実装するのはどうですか?単純ですね。ヒントが必要な場合はお知らせください。 – hmatar

+1

すべての場合に 'stod'を使い、' std :: modf'を使ってそれが整数かどうかを調べてください。 –

+0

このコメントは、すでに与えられた回答を補完するものであれば答えが必要です。それはまさに私が望んでいたものです。 modfについて聞きませんでしたが、本当に便利です。ああ、それは標準ではない:: modfそれはちょうどmodfです。 – Hakaishin

答えて

2

標準ライブラリにそのような組み合わせはありません。

関数の戻り値の型はパラメータの値に依存できないため、このような組み合わせはありません。戻り値の型は常に同じであり、時にはint型ではなく、他の倍精度型でもありません。

std::variant<int, double>を返す関数を書くことができます。 std::variantは今後のC++ 17まで標準ライブラリの一部ではないことに注意してください。待たなければサードパーティの代替手段を使用する必要があります。

関連する問題