C# 使用c的小数点后两位#
我只需要得到两位小数,但是通过使用这个代码,我得到了1156.547。 告诉我必须使用哪种格式来显示两位小数。用于四舍五入到两位小数C# 使用c的小数点后两位#,c#,formatting,C#,Formatting,我只需要得到两位小数,但是通过使用这个代码,我得到了1156.547。 告诉我必须使用哪种格式来显示两位小数。用于四舍五入到两位小数 decimal Debitvalue = 1156.547m; decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue)); 如果要对小数进行四舍五入,请查看Math.round()以下是另一种方法 decimal DEBITAMT = Math.Round(1156.
decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue));
如果要对小数进行四舍五入,请查看
Math.round()
以下是另一种方法
decimal DEBITAMT = Math.Round(1156.547m, 2);
您的问题是要求显示两位小数。使用以下String.format将有所帮助:
decimal decimalRounded = Decimal.Parse(Debitvalue.ToString("0.00"));
这将显示最多两位小数的数字(例如,2.10将显示为2.1)
如果希望始终显示两位小数,请使用“{0:.00}”(例如,2.10将显示为2.10)
或者,如果要显示货币符号,请使用以下命令:
String.Format("{0:.##}", Debitvalue)
另一种选择是使用我使用的
String.Format("{0:C}", Debitvalue)
另一种方式:
decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:F2}", Debitvalue));
可能是其他示例的变体,但我使用此方法也确保小数点前显示一个点,而不是逗号:
decimal.Round(decimalvalue, 2, MidpointRounding.AwayFromZero);
如果您希望始终显示两位小数(即使您的数字只有一位小数),最好的方法是使用
someValue.ToString("0.00", CultureInfo.InvariantCulture)
对于仅显示,
String
的属性可按如下方式使用
yournumber.ToString("0.00");
使用System.Math.Round
。此值可以分配给其他人,也可以根据需要进行操作
double value = 123.456789;
String.Format("{0:0.00}", value);
如果有人正在寻找显示小数位数的方法,即使它以“.00”结尾,也可以使用以下方法:
double value = 123.456789;
System.Math.Round(value, 2);
参考资料:
在这里的一些测试中,它的工作方式非常完美:
String.Format("{0:n1}", value)
希望这有助于显示两个十进制数字,请尝试给定的语法
string.Format(“{0:0.00}”,Debitvalue)Math.Round可以工作,甚至您的代码也可以工作。我用您的代码进行了测试,它运行良好,decimal Debitvalue=Convert.ToDecimal(“1156.547”);decimal DEBITAMT=Convert.ToDecimal(string.Format(“{0:0.00}”,Debitvalue));控制台写入线(借记);事实上,如果他想显示2.10,第一个文件中的格式应该是“{0:.00}”。有了###它将是2.1。这一个实际上不起作用。它将从4.998取整为5,但OP希望有2个小数作为4.99。您也可以将这个
String.Format(“{0:C}”,Debitvalue)
as$“{Debitvalue:C}”
为什么不转换为.ToDecimal(String.Format(“{0:F2}”,Debitvalue));,当我们已经在代码中使用convert.todecimal时。@Dragon-因为将一个数字转换为字符串并返回到一个数字是一种代码味道。噢,kk..然后我将使用类似的数学。round(convert.todecimal(val),2)…这会增加什么,比如说?
Decimal.Round(value, 2);