[英]How can I pad nullable ints with zeros?
有什么方法可以像用普通int那样用零填充nullable int?
myInt.ToString("D3")
似乎不适用于nullale整数,但对于我当前的项目,我觉得我需要使用可为null的int
,以获取数组中的null
值,而不是默认的0。
那是因为int?
实际上是Nullable<T>
,这里T
是int
。
调用ToString
将在Nullable
结构而不是int
上调用它。 Nullable<T>
不了解int
拥有的ToString
重载。
您必须先获取整数值:
myInt.GetValueOrDefault(0).ToString("D3")
一个int
永远不会有前导零,它只有一个值。 ìnt
字符串表示ìnt
可以包含它们。 如果没有值,可以使用null-coalescing运算符将nullable-int转换为0:
int? nullableInt = null;
string number = (nullableInt ?? 0).ToString("D3"); // 000
或使用String.PadLeft
:
number = (nullableInt ?? 0).ToString().PadLeft(3, '0');
您必须对值执行该操作:
myInt.Value.ToString("D3")
例:
int? myInt = 3;
Console.WriteLine(myInt.Value.ToString("D3")); // Outputs 003
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.