How can I format a number into a string with leading zeros?
我有一个数字需要转换成字符串。首先我用这个:
1 | Key = i.ToString(); |
但我意识到它是按照一个奇怪的顺序排序的,所以我需要用零填充它。我怎么能这样做?
而简单的。
1 | Key = i.ToString("D2"); |
看到C字符串格式编排的# example of辨别一些格式的字符串。
我以一个更好的格式编排国际学院
1 | String.Format("{0:00000}", 15); //"00015" |
使用字符串或插值。
1 | $"{15:00000}"; //"00015" |
如果你想保持固定宽度,例如,10位,这样做的
1 | Key = i.ToString("0000000000"); |
replace with AA AA多位你喜欢的。
然后将结果的
由于有上述的这个人,然而,如果你是用C # 6或以上版本(例如Visual Studio 2015年),那么你可以使用字符串插值两种简化你的代码。而不是使用
1 | Key = $"{i:D2}"; |
使用:
1 | i.ToString("D10") |
看到int32.tostring(MSDN),与标准数字格式字符串(MSDN)。
1 2 | int i = 321; Key = i.ToString().PadLeft(10, '0'); |
看到string.padleft(MSDN)。
通常,string.format("格式",两个对象)的冰preferable object.tostring("格式")。因此,
1 | String.Format("{0:00000}", 15); |
preferable两个冰淇淋,
1 | Key = i.ToString("000000"); |
试试:
1 | Key = i.ToString("000000"); |
道贺,但我看到的,如果你不能直接在黑色的整数,而不是字符串表示的。
在这里,我想我的两个限制在4号位是1样,如果它应该显示为11吨,如果它时它应该显示为..below是代码。
1 2 3 4 5 | reciptno=1;//Pass only integer. string formatted = string.Format("{0:0000}", reciptno); TxtRecNo.Text = formatted;//Output=0001.. |
在这两个implemented Code Generate收据没有钱。
1 2 | int num=1; string number=num.ToString().PadLeft(4, '0') |
输出="00001"
编辑:换了两个匹配的padleft数量
interpolated:对。
1 | $"Int value: {someInt:D4} or {someInt:0000}. Float: {someFloat: 00.00}" |