如果值为零,则Decimal.ToString无效

Mic*_* DN 4 c# linq sum

我有以下代码 -

Label1..Text = dt.AsEnumerable().Sum(x => x.Field<decimal?>("col1") ?? 0).ToString("#,#.####", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

在这里,我将'col1'的总和显示在标签上.
我正在检查x.Field<decimal?>("col1")空值

问题是,如果列的值类似于1234,则显示正确,但如果x.Field<decimal?>("col1")为null,则将值作为ZERO,并且标签上不显示任何内容.

似乎toString如果它为零则忽略该值并且不返回任何值.

请帮忙

Hab*_*bib 9

使用的格式"#,0.####",将显示0为0值,并1,2341234

Label1.Text = dt.AsEnumerable()
                 .Sum(x => x.Field<decimal?>("col1") ?? 0)
                 .ToString("#,0.####", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

您应该看到:自定义数字格式字符串.

"0" - 如果存在,则用相应的数字替换零; 否则,结果字符串中出现零.