无法从 'double?' 转换为 'decimal'
cannot convert from 'double?' to 'decimal'
我正在读取一个 XML 文件并且正在解析信息。我正在尝试像这样将 double 转换为 int
var pruebaPago = Math.Ceiling(row[i].Pagado);
但是当我 运行 我的代码出现以下错误时:
cannot convert from 'double?' to 'decimal'
XML 文件对 Pagado
的定义如下
<s:element name="Pagado" type="s:double" nillable="true"/>
如何转换可空值并将其四舍五入为最接近的整数?
您需要使用 Nullable<double>.Value
。您还需要首先检查该值是否为 null
:
if (row[i].Pagado.HasValue)
{
var pruebaPago = Math.Ceiling(row[i].Pagado.Value);
}
当前的重载解决方案发现 decimal
重载最适合 Math.Ceiling
,因为您传递的是 double?
而不是 double
。
我正在读取一个 XML 文件并且正在解析信息。我正在尝试像这样将 double 转换为 int
var pruebaPago = Math.Ceiling(row[i].Pagado);
但是当我 运行 我的代码出现以下错误时:
cannot convert from 'double?' to 'decimal'
XML 文件对 Pagado
<s:element name="Pagado" type="s:double" nillable="true"/>
如何转换可空值并将其四舍五入为最接近的整数?
您需要使用 Nullable<double>.Value
。您还需要首先检查该值是否为 null
:
if (row[i].Pagado.HasValue)
{
var pruebaPago = Math.Ceiling(row[i].Pagado.Value);
}
当前的重载解决方案发现 decimal
重载最适合 Math.Ceiling
,因为您传递的是 double?
而不是 double
。