[英]is it possible to assign two decimal places to a double
我在網上查看並找到了多個示例,這些示例向您展示了如何將 2 個小數位添加到雙精度。但是我發現的所有示例都要求您將雙精度更改為字符串格式。 如
是否可以指定兩位小數並將其保留為雙精度?
例如雙(25,2)
public double balance {get;set}
double money=145
balance=money
所以余額現在應該是145.00
余額應保持雙倍(25,2)
不,最好的處理方法是盡可能長時間地使用數字類型,然后在向用戶顯示值之前的最后一刻才轉換為字符串。
此外,每當您使用金錢時,您應該更喜歡decimal
類型而不是double
。 這仍然不會讓您保留兩位小數 -這不是數字類型的工作方式! ——但它會幫助你避免在處理金錢時真正重要的舍入錯誤。
最后,如果這是您的財產:
public decimal Balance {get;set;}
您可以擁有一個看起來像這樣的附加屬性
public string BalanceString {get {return Balance.ToString("F2");} }
請注意,此屬性沒有set
,並且取決於數字Balance
屬性。
不,這是不可能的。 .net 數據類型都不是這樣的。 像 oracle 一樣,您可以在其中分配number(10,2)
。 在 .net 中,您需要將操作與顯示分開。 無論您的價值是什么,您都可以隨時對其進行格式化以顯示
double money = 145.2345d;
Console.WriteLine(money.ToString("#.00"));
結果: 145.23
您還可以使用標准字母格式選項,例如"C"
Console.WriteLine(money.ToString("C"));
結果: $145.23
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.