我正在尝试使用两位小数来舍入十进制值,例如:我有57,328385899814471243042671610,我想要57.33。
for (int i = 1; i < cobtable.Columns.Count; i++) //loop para preencher a linha das percentagens
{
Decimal a = (Decimal)cobtable.Rows[2][i];
Decimal b = (Decimal)cobtable.Rows[0][i];
cobtable.Rows[3][i] = Decimal.Divide(a, b) * 100;
// Decimal c = (Decimal)cobtable.Rows[3][i];
// c = (a / b) * 100;
// c = Math.Round(c,2);
Response.Write((Decimal)cobtable.Rows[3][i]);
Response.Write("*");
}
GroupGrid.DataSource = cobtable;
GroupGrid.DataBind();
c
变量为response.write()
提供了正确的值,但在网格中它没有显示相同的值,它显示57,328385899814471243042671610。我做错了什么?
答案 0 :(得分:0)
使用以下方法:
Math.Round(57.328385899814471243042671610,2);
第二个参数是小数位数
答案 1 :(得分:0)
System.Math.Ceiling(c * 100) / 100);
这样的事可能会奏效。
答案 2 :(得分:0)
在GridView
。
DateFormatString
DataFormatString="{0:F2}" // Rounds to 2 decimal places
这会影响值对用户的显示方式,而不会导致舍入导致实际数据丢失。