77
decimal Debitvalue = 1156.547m;

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

小数点以下 2 桁だけを取得する必要がありますが、このコードを使用すると 1156.547 になります。小数点以下 2 桁を表示するために使用する必要がある形式を教えてください。

4

13 に答える 13

72

あなたの質問は、小数点以下2桁を表示するよう求めています。次の String.format を使用すると役立ちます。

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

これにより、小数点以下 2 桁までの数値が表示されます (たとえば、 2.10 は 2.1 と表示されます)。

常に小数点以下 2 桁を表示する場合は、"{0:.00}" を使用します (例: 2.10 は 2.10 と表示されます)。

または、通貨記号を表示したい場合は、次を使用します。

String.Format("{0:C}", Debitvalue)
于 2012-11-13T15:43:18.357 に答える
54

Math.Round()小数点以下第 2 位までの四捨五入に使用

decimal DEBITAMT = Math.Round(1156.547m, 2);
于 2012-05-25T06:26:58.373 に答える
39

小数を四捨五入したい場合は、Math.Round()

于 2012-05-25T06:27:02.327 に答える
36

常に小数点以下 2 桁を表示したい場合 (数値の小数点以下が 1 桁しかない場合でも) を使用するのが最善の方法です。

yournumber.ToString("0.00");
于 2016-04-15T22:35:54.897 に答える
16

ここに別のアプローチがあります

decimal decimalRounded = Decimal.Parse(Debitvalue.ToString("0.00"));
于 2012-05-25T06:35:50.147 に答える
11

表示するだけの場合、 のプロパティはString次のように使用できます。

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

を使用しSystem.Math.Roundます。この値は、他のユーザーに割り当てたり、必要に応じて操作したりできます。

double value = 123.456789;
System.Math.Round(value, 2);
于 2016-06-23T16:55:35.150 に答える
6

別の方法 :

decimal.Round(decimalvalue, 2, MidpointRounding.AwayFromZero);
于 2015-02-06T09:12:49.003 に答える
2

もう 1 つのオプションは、Decimal.Round メソッドを使用することです。

于 2012-11-28T13:29:59.940 に答える
0

".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

于 2019-10-18T14:00:16.177 に答える
-1

ここでのいくつかのテストでは、次のように完全に機能しました。

Decimal.Round(value, 2);

お役に立てれば

于 2020-03-20T11:36:44.320 に答える