如何在 c# (chtml) 中使用 Sytem.Math.Round(double, int)

本文关键字:Math Sytem int Round double chtml | 更新日期: 2023-09-27 18:19:47

    @foreach (var item in ViewBag.OrgTable.Rows)
    {
       @foreach (var p in (List<MvcProject.Models.orgModel>)ViewBag.params)
        { 
          decimal temp = Math.Round(item[p.Abbreviation], (int)p.Count);
          @(temp)
         }
    }

使用上面的代码行给了我下面的错误 -

'System.Math.Round(double, int(' 的最佳重载方法匹配有一些无效参数

在上面,缩写是一个字符串,Count是一个小数。我不确定上面的系统.数学.圆(双,整数(用法有什么问题

如何在 c# (chtml) 中使用 Sytem.Math.Round(double, int)

如果itemDataRow,那么以下内容应该有效:

Math.Round((double)item[p.Abbreviation], (int)p.Count);

尝试double.Parse(abbreviation) 。它需要显式转换为双精度。

缩写是字符串,计数是小数。我不确定什么是 上述系统.数学.圆(双,整数(用法错误

你刚刚回答了你自己的问题。该方法需要双精度和整数,而您正在尝试将其交给一个字符串和一个小数。您必须转换这些类型,例如通过调用 double。解析(p.缩写(将字符串转换为双精度。