私は、年、ジュリアン日、時、分を表すいくつかの整数を読んでいます。私は分数日に変換しようとしています。私は724043.939
の結果を取得する必要があります2001, 083, 22, 32
の値を使用してなぜ浮動小数点数は整数保持を主張していますか?
int YYYY, JJJ, HH, MM;
float datenumber = (YYYY*360.0f)+(JJJ*1.0f)+((HH*1.0f)+(MM/60.0f))/24.0f;
。代わりに724044
が得られます。
私はfloatとしてキャストされたすべてのintを持っています。なぜ彼らは整数のままですか?
editはい、私は出力をcoutで表示していました。 setprecisionは問題を解決しました。ありがとうございます。
どのように最終値を表示していますか?デバッガ、 'printf()'? – trojanfoe
結果をどのように印刷していますか?問題があなたのprintステートメントにある可能性があります – vmpstr
[my test](http://ideone.com/KhmMZ)によると、 'printf'は期待される結果を表示しますが、' cout'は「間違った」値を表示します。 –