我有以下代码 -
Label1..Text = dt.AsEnumerable().Sum(x => x.Field<decimal?>("col1") ?? 0).ToString("#,#.####", CultureInfo.InvariantCulture);
在这里,我正在显示&#39; col1&#39;在标签上。
我正在检查x.Field<decimal?>("col1")
是否为空值
问题是,如果列的值类似于1234,则显示正确,但如果x.Field<decimal?>("col1")
为null,则它将值取为ZERO,并且标签上不显示任何内容。
似乎toString如果它为零则忽略该值并且不返回任何值。
请帮忙
答案 0 :(得分:9)
使用格式"#,0.####"
这将显示0
代表0个值,1,234
代表1234
Label1.Text = dt.AsEnumerable()
.Sum(x => x.Field<decimal?>("col1") ?? 0)
.ToString("#,0.####", CultureInfo.InvariantCulture);
您应该看到:Custom Numeric Format Strings.
“0” - 将零替换为相应的数字(如果有) 当下;否则,结果字符串中会出现零。