C# 如果值为零,则Decimal.ToString不起作用
我有以下代码-C# 如果值为零,则Decimal.ToString不起作用,c#,linq,sum,C#,Linq,Sum,我有以下代码- Label1..Text = dt.AsEnumerable().Sum(x => x.Field<decimal?>("col1") ?? 0).ToString("#,#.####", CultureInfo.InvariantCulture); Label1..Text=dt.AsEnumerable().Sum(x=>x.Field(“col1”)?0).ToString(“#,#.#.#.#,#文化信息.不变量文化”); 这里,我在标签上显示“co
Label1..Text = dt.AsEnumerable().Sum(x => x.Field<decimal?>("col1") ?? 0).ToString("#,#.####", CultureInfo.InvariantCulture);
Label1..Text=dt.AsEnumerable().Sum(x=>x.Field(“col1”)?0).ToString(“#,#.#.#.#,#文化信息.不变量文化”);
这里,我在标签上显示“col1”的总和。我正在检查
x.Field(“col1”)
中是否有空值
问题是,如果列的值类似于1234,它会正确显示,但如果x.Field(“col1”)
为空,则它会将值设为零,并且标签上不会显示任何内容
如果该值为零且不返回任何内容,则toString似乎会忽略该值
请帮助使用格式“#,0.######”
,该格式将为0值显示0
,为1234
显示1234
Label1.Text = dt.AsEnumerable()
.Sum(x => x.Field<decimal?>("col1") ?? 0)
.ToString("#,0.####", CultureInfo.InvariantCulture);
Label1.Text=dt.AsEnumerable()
.Sum(x=>x.Field(“col1”)??0)
.ToString(“#,0.######”,CultureInfo.InvariantCulture);
你应该看到:
“0”-用相应的数字替换零(如果有)
目前否则,结果字符串中将显示零
我不是100%确定,但我认为您可以使用
.Sum(x=>x.Field(“col1”))
而不是使用??
,这将得到相同的结果,将null
替换为0