Module: 変数。出力フォーマット


Problem

5/5

出力精度

Theory Click to read/hide

出力指定子
実際の値を出力するには、Console.Write または  Console.WriteLine:
メソッドを呼び出すだけです。   ダブル a = 0.9999; Console.Write(a);  
ただし、値の出力を事前にフォーマットする必要がある場合があります。String.Format メソッドを使用すると便利です。詳細は こちら
一定の精度で出力
小数の書式設定には f 指定子が使用され、その後の数字はセパレーターの後の文字数を示します。 ダブル a = 12.123; Console.WriteLine(String.Format("{0:f2}", a)); 結果は 12,12 になりますが、値 0.9999 を使用すると、制御されていない丸めが発生し、  1.00.

したがって、次のアルゴリズムを使用して、丸めではなく符号を破棄します。
1) 元の値に 10 を小数点以下の桁数まで掛けます。
2)   Math.Truncate メソッドを使用して、整数部分のみを残します;
3) 結果の値を 10 で割ります。 小数位を残す必要がある回数だけ割ります。

小数点以下 2 桁の出力の例: 
ダブル a = 0.9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2);
 
結果を出力する際のセパレーターのタイプ (ドットまたはコンマ) は、コンピューターの地域設定に依存するため、常にピリオドをセパレーターとして使用するには、地域設定を 不変、結果の例:
 
CultureInfo ci = new CultureInfo(""); ダブル a = 0.9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));

Problem

変数の値を小数点以下 2 桁まで出力するプログラムを作成します。