decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue));
小数点以下 2 桁だけを取得する必要がありますが、このコードを使用すると 1156.547 になります。小数点以下 2 桁を表示するために使用する必要がある形式を教えてください。
decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue));
小数点以下 2 桁だけを取得する必要がありますが、このコードを使用すると 1156.547 になります。小数点以下 2 桁を表示するために使用する必要がある形式を教えてください。
あなたの質問は、小数点以下2桁を表示するよう求めています。次の String.format を使用すると役立ちます。
String.Format("{0:.##}", Debitvalue)
これにより、小数点以下 2 桁までの数値が表示されます (たとえば、 2.10 は 2.1 と表示されます)。
常に小数点以下 2 桁を表示する場合は、"{0:.00}" を使用します (例: 2.10 は 2.10 と表示されます)。
または、通貨記号を表示したい場合は、次を使用します。
String.Format("{0:C}", Debitvalue)
Math.Round()
小数点以下第 2 位までの四捨五入に使用
decimal DEBITAMT = Math.Round(1156.547m, 2);
小数を四捨五入したい場合は、Math.Round()
常に小数点以下 2 桁を表示したい場合 (数値の小数点以下が 1 桁しかない場合でも) を使用するのが最善の方法です。
yournumber.ToString("0.00");
ここに別のアプローチがあります
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);
もう 1 つのオプションは、Decimal.Round メソッドを使用することです。
".00"で終わっていても小数点以下を表示する方法を探している人は、これを使用してください:
String.Format("{0:n1}", value)
参照:
ここでのいくつかのテストでは、次のように完全に機能しました。
Decimal.Round(value, 2);
お役に立てれば