私はあなたが本当にそれを出力用にフォーマットすることを意味していると思います:
Console.WriteLine("{0:0.###}", value);
小数点を戻すには、小数点の数を指定する2番目のパラメーターを指定して_Math.Round
_を使用します。
_decimal d = 54.9700M;
decimal f = (Math.Round(d, 2)); // 54.97
_
数値の文字列表現を取得するには、.ToString()
を使用して小数点をN3として指定します。 3は小数点です。
_decimal d = 54.9700M;
string s = number.ToString("N3"); // "54.97"
_
使用する Math.Round
小数点以下に丸めます。
浮動小数点数の精度を制限することはSQLの概念です。 csharpの10進数は、割り当てられた精度を記憶することのみを意味します。割り当てる前に、小数点以下3桁に丸めることができます。 IE、Math.Round()
。
私の答えの一部は応答ですが、別の部分は単なる興味深い点です:
変数をprop/field
として見たいことがよくあります。したがって、extension method
を作成して問題を解決します。
Tensaoは、関連する値を持つ単なるEnumです。
public static class TensaoExtensions {
public static double TensaoNominal(this Tensao tensao) {
return Math.Round((double.Parse(EnumMapper.Convert(typeof(Tensao),
tensao.ToString()))) * 1000 / Math.Sqrt(3), 3);
}
}