簡體   English   中英

是否可以將兩位小數分配給雙精度

[英]is it possible to assign two decimal places to a double

我在網上查看並找到了多個示例,這些示例向您展示了如何將 2 個小數位添加到雙精度。但是我發現的所有示例都要求您將雙精度更改為字符串格式。

c# 雙對串

將雙精度格式格式化為兩位小數

是否可以指定兩位小數並將其保留為雙精度?

例如雙(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM