Dot-Net
調整小數精度,.net
C# 中的這些行
decimal a = 2m; decimal b = 2.0m; decimal c = 2.00000000m; decimal d = 2.000000000000000000000000000m; Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(c); Console.WriteLine(d);生成此輸出:
2 2.0 2.00000000 2.000000000000000000000000000所以我可以看到從文字創建一個十進制變數可以讓我控制精度。
- 我可以在不使用文字的情況下調整十進制變數的精度嗎?
- 如何從 a 創建 b?如何從 c 創建 b?
像這樣保留尾隨零是在 .NET 1.1 中引入的,以更嚴格地符合 ECMA CLI 規範。
MSDN 上有一些關於此的資訊,例如這裡。
您可以按如下方式調整精度:
- Math.Round(或天花板、地板等)以降低精度(b 從 c)
- 乘以 1.000…(使用您想要的小數位數)以提高精度 - 例如乘以 1.0M 以從 a 中獲得 b。