c#返回带有两位小数点的小数

本文关键字:两位 小数点 小数 返回 | 更新日期: 2023-09-27 17:54:41

我正在尝试将十进制值四舍五入为两位,例如,我有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。我做错了什么?

c#返回带有两位小数点的小数

使用以下方法:

 Math.Round(57.328385899814471243042671610,2);

第二个参数没有小数

System.Math.Ceiling(c * 100) / 100);

GridView中的相关列指定一个DateFormatString

DataFormatString="{0:F2}"  // Rounds to 2 decimal places

这会影响值对用户的显示方式,而不会因为舍入而导致实际的数据丢失。