C# 当值为0且格式为#为自定义说明符时,如何显示0?

C# 当值为0且格式为#为自定义说明符时,如何显示0?,c#,vb.net,string-formatting,C#,Vb.net,String Formatting,我使用像这样的“#”自定义格式将整数值转换为字符串值 string str = string.Format("{0:###,###}", 10000); 所以结果是“10000” 但当值为0时,str为空 string str = string.Format("{0:###,###}", 0); 我知道这已经在中解释过了,但我想在值为零时显示0。如何做?您可以使用#######0(或###0)作为格式字符串。当值为零时,将显示0。您可能还需要考虑格式字符串。 在MSDN上引用: “0”:如果

我使用像这样的“#”自定义格式将整数值转换为字符串值

string str = string.Format("{0:###,###}", 10000);
所以结果是“10000”

但当值为0时,str为空

string str = string.Format("{0:###,###}", 0);
我知道这已经在中解释过了,但我想在值为零时显示0。如何做?

您可以使用
#######0
(或
###0
)作为格式字符串。当值为零时,将显示
0
。您可能还需要考虑格式字符串。

在MSDN上引用:

“0”:如果有相应的数字,则用相应的数字替换零;否则,结果字符串中将显示零

“#”:将“#”符号替换为相应的数字(如果有);否则,结果字符串中不会出现数字

您可以使用
#######0
(或
###0
)作为格式字符串。当值为零时,将显示
0
。您可能还需要考虑格式字符串。

在MSDN上引用:

“0”:如果有相应的数字,则用相应的数字替换零;否则,结果字符串中将显示零

“#”:将“#”符号替换为相应的数字(如果有);否则,结果字符串中不会出现数字


N0
是否依赖于文化?@NikhilAgrawal:是的,
N0
以及
,##0
依赖于文化。在我的区域性(
da DK
)中,逗号格式说明符使用点显示(例如
10.000
N0
将考虑特定于区域性的分组,因此,与其将组硬编码为三位数,不如将组硬编码为
,##0
一些区域性是否有不同的规则。进行一些进一步的测试,我发现
,##0
执行与
N0
相同的分组。例如,当使用英语文化(
en
)格式化12345678时,结果是使用
N0
,##0
。使用印地语文化(
hi
),结果是
1,23,45678
使用相同的格式说明符。即使使用
#,0
也会给出相同的结果(即特定于文化的分组)。
N0
是否依赖于文化?@NikhilAgrawal:是的,
N0
以及
#,0
依赖于文化。在我的区域性(
da DK
)中,逗号格式说明符使用点显示(例如
10.000
N0
将考虑特定于区域性的分组,因此,与其将组硬编码为三位数,不如将组硬编码为
,##0
一些区域性是否有不同的规则。进行一些进一步的测试,我发现
,##0
执行与
N0
相同的分组。例如,当使用英语文化(
en
)格式化12345678时,结果是使用
N0
,##0
。使用印地语文化(
hi
),结果是
1,23,45678
使用相同的格式说明符。即使使用
#,0
也会给出相同的结果(即特定于区域性的分组)。