格式化BigInteger会导致空为0

Joh*_*cht 2 c#

我将BigInteger值格式化为0并获得一个空字符串作为结果.这是预期的行为吗?

System.Numerics.BigInteger value = 0;
string xx = value.ToString("#", System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

在这两个语句之后,xx是string.Empty.如果我将值设置为10,我会得到"10".

p.s*_*w.g 5

是的,这是预期的行为.来自MSDN:

如果格式化的值#在格式字符串中出现" "符号的位置有一个数字,则该数字将复制到结果字符串.否则,结果字符串中的任何位置都不存储任何内容.

强调我的

0如果您始终需要至少一位数,则可以使用格式字符串:

string xx = value.ToString("0", System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

产量:

  • 0"0"
  • 10"10"