簡體   English   中英

使用c#的兩個小數位

[英]Two Decimal places using c#

decimal Debitvalue = 1156.547m;

decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue));

我只需要得到兩位小數,但通過使用此代碼,我得到了 1156.547。 讓我知道我必須使用哪種格式來顯示兩位小數。

您的問題是要求顯示兩位小數。 使用以下 String.format 會有所幫助:

String.Format("{0:.##}", Debitvalue)

這將顯示最多兩位小數的數字(例如 2.10 將顯示為 2.1 )。

使用“{0:.00}”,如果你想總是顯示兩位小數(例如 2.10 將顯示為 2.10 )

或者,如果您希望顯示貨幣符號,請使用以下內容:

String.Format("{0:C}", Debitvalue)

使用Math.Round()四舍五入到小數點后兩位

decimal DEBITAMT = Math.Round(1156.547m, 2);

如果要舍入小數,請查看Math.Round()

如果您想始終顯示兩位小數(即使您的數字只有一位小數),最好的方法是使用

yournumber.ToString("0.00");

我用

decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:F2}", Debitvalue));

這是另一種方法

decimal decimalRounded = Decimal.Parse(Debitvalue.ToString("0.00"));

為了僅顯示,可以使用String屬性如下..

double value = 123.456789;
String.Format("{0:0.00}", value);

使用System.Math.Round 該值可以分配給其他人或根據需要進行操作。

double value = 123.456789;
System.Math.Round(value, 2);

其它的辦法 :

decimal.Round(decimalvalue, 2, MidpointRounding.AwayFromZero);

可能是其他示例的變體,但我使用此方法還確保在小數位之前顯示一個點而不是逗號:

someValue.ToString("0.00", CultureInfo.InvariantCulture)

另一種選擇是使用Decimal.Round 方法

如果有人正在尋找一種顯示小數位的方法,即使它以".00"結尾,請使用:

String.Format("{0:n1}", value)

參考:

https://docs.microsoft.com/pt-br/dotnet/standard/base-types/standard-numeric-format-strings#the-numeric-n-format-specifier

要顯示兩個十進制數字,請嘗試給定的語法。

string.Format("{0:0.00}", Debitvalue)

在這里的一些測試中,它以這種方式完美地工作:

Decimal.Round(value, 2);

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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