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

时间:2014-11-27 22:50:26

标签: c# int nullable

有没有办法用普通的int填充nullable int和零?

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

3 个答案:

答案 0 :(得分:4)

这是因为int?实际上是Nullable<T>,其中Tint

致电ToString会在Nullable结构上调用该内容,而不是intNullable<T>不了解ToString int的重载次数。

您必须先获取整数值:

myInt.GetValueOrDefault(0).ToString("D3")

答案 1 :(得分:2)

int从未领先零,它只有一个值。 ìnt的字符串表示可以包含它们。如果null-coalescing运算符没有值,则可以使用null-coalescing运算符将nullable-int转换为0:

int? nullableInt = null;
string number = (nullableInt ?? 0).ToString("D3"); // 000

或使用String.PadLeft

number = (nullableInt ?? 0).ToString().PadLeft(3, '0');

答案 2 :(得分:0)

您必须对值执行该操作:

myInt.Value.ToString("D3")

示例:

int? myInt = 3;
Console.WriteLine(myInt.Value.ToString("D3")); // Outputs 003