私はスタックオーバーフローを新規にプログラミングしています。私はC++のプログラミングのためのいくつかのクラスに入っており、私は少しの問題を抱えています。このプログラムは華氏を取り、それを摂氏に変換することになっています。私は他のプログラムを見たことがありますが、私の特定の問題と重複するものは見つかりませんでした。これは私のコードです。C++の数値が正しく丸められません
#include <iostream>
using namespace std;
int main()
{
int fahrenheit;
cout << "Please enter Fahrenheit degrees: ";
cin >> fahrenheit;
int celsius = 5.0/9 * (fahrenheit - 32.0);
cout << "Celsius: " << celsius << endl;
return 0;
}
これは、実行されている5つのテストのうちの4つでうまく機能しています。それは22.22〜22と4.44〜4を四捨五入しますが、0Fを入れると、-18の代わりに-17.77〜-17を丸めます。私は約1時間研究していて、助けが大好きです!ありがとうございました。
'-17> -18' .... –
C++は常に切り捨てられますか?もしそうなら、どうすれば-18に丸めることができますか?私が実行しているテストは、それが失敗する唯一のテストです。それは、プログラムが-18と言うことを期待していますが、私は-17と言っています。 –
floatまたはdoubleを変換すると、**デフォルトで**が切り詰められます。 **丸め**するには、それを行うライブラリ関数を使用します(Googleはそれを使用します)。 – Majora320