C# 如果int.ToString()调用包含0,为什么在该调用中指定格式化程序会导致空字符串?
这是一个非常简单的例子:C# 如果int.ToString()调用包含0,为什么在该调用中指定格式化程序会导致空字符串?,c#,string-formatting,tostring,C#,String Formatting,Tostring,这是一个非常简单的例子: class Program { static void Main(string[] args) { int val = 0; Console.WriteLine(val.ToString()); // outputs: "0" Console.WriteLine(val.ToString("#,#")); // outputs: "" <-- what if I want "0"!?!?
class Program
{
static void Main(string[] args)
{
int val = 0;
Console.WriteLine(val.ToString()); // outputs: "0"
Console.WriteLine(val.ToString("#,#")); // outputs: "" <-- what if I want "0"!?!?
val = 1;
Console.WriteLine(val.ToString()); // outputs: "1"
Console.WriteLine(val.ToString("#,#")); // outputs: "1"
Console.Read();
}
}
类程序
{
静态void Main(字符串[]参数)
{
int-val=0;
Console.WriteLine(val.ToString());//输出:“0”
Console.WriteLine(val.ToString(“#,#”);//输出:“如果需要0,请使用#,0
#
表示可选
0
表示强制
您可以在此处阅读更多内容:
数字占位符(#)类似于零占位符。它
定义结果格式化字符串中数字的位置
并导致小数点后四舍五入。但是
占位符不会导致将前导零或尾随零添加到
原始数值中没有数字的数字
适当的位置。
将零值转换为数字时,数字占位符会产生副作用
字符串。因为占位符不会导致创建
将零值转换为结果时的前导或尾随零
字符串为空