2014-03-13 48 views
4

我在这里以下代码 -Decimal.ToString的,如果该值为零

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

,我施展“COL1”的总数在标签上。
我检查x.Field<decimal?>("col1") NULL值

的问题是,如果一个列的值是像1234,它显示正常,但如果x.Field<decimal?>("col1")为null,则它取值为零,并没有显示在标签上。

似乎toString忽略该值,如果它为零并且不返回任何内容。

请帮

+0

我不是100%确定,但我认为你可以只使用'.Sum(x => x.Field (“col1”))'而不是使用'??',这会给你相同的结果,用'0'代替'null' – Habib

回答

9

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

你应该看到:Custom Numeric Format Strings.

“0” - 以替换零如果其中一个为 ,则显示相应的数字;否则,结果字符串中出现零。

+1

完美的谢谢! –

+0

@MicrosoftDN,欢迎您 – Habib