【发布时间】:2010-10-04 02:51:24
【问题描述】:
我需要用起始零填充所有个位数字。 有人可以建议最好的方法吗? (例如 1 -> 01、2 -> 02 等)
【问题讨论】:
-
你是如何输出这些的?例如,如果您要将它们绑定到 ASP.NET 中的控件,则可能有一种更简单的方法可以在绑定它们时应用格式字符串。
标签: .net string formatting padding
我需要用起始零填充所有个位数字。 有人可以建议最好的方法吗? (例如 1 -> 01、2 -> 02 等)
【问题讨论】:
标签: .net string formatting padding
number.ToString().PadLeft(2, '0')
【讨论】:
我会在号码上拨打.ToString,提供需要两位数的format string,如下所示:
int number = 1;
string paddedNumber = number.ToString("00");
如果它是较大字符串的一部分,您可以在占位符中使用格式字符串:
string result = string.Format("{0:00} minutes remaining", number);
【讨论】:
假设您只是输出这些值,而不是存储它们
int number = 1;
Console.Writeline("{0:00}", number);
这是 .Net 支持的所有格式的 useful resource。
【讨论】:
# In PowerShell:
$year = 2013
$month = 5
$day = 8
[string] $datestamp = [string]::Format("{0:d4}{1:d2}{2:d2}", $year, $month, $day)
Write-Host "Hurray, hurray, it's $datestamp!"
【讨论】:
我将添加此选项作为答案,因为我在这里看不到它,它可以作为替代方案有用。
在 VB.NET 中:
''2 zeroes left pad
Dim num As Integer = 1
Dim numStr2ch As String = Strings.Right("00" & num.ToString(), 2)
''4 zeroes left pad
Dim numStr4ch As String = Strings.Right("0000" & num.ToString(), 4)
''6 zeroes left pad
Dim numStr6ch As String = Strings.Right("000000" & num.ToString(), 6)
【讨论】: