繁体   English   中英

如何用零填充可为空的整数?

[英]How can I pad nullable ints with zeros?

有什么方法可以像用普通int那样用零填充nullable int?

myInt.ToString("D3")似乎不适用于nullale整数,但对于我当前的项目,我觉得我需要使用可为null的int ,以获取数组中的null值,而不是默认的0。

那是因为int? 实际上是Nullable<T> ,这里Tint

调用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM