当我将此字符串转换为int时,我有一个字符串(string value="01")
(int tempValue= int.Parse(value))
。然后我得到结果= 1。
我希望这个值与字符串值相同,这是前导零。
答案: -
int length = 3;
int number = 20;
string asString = number.ToString("D" + length); //"020"
答案 0 :(得分:6)
根据算术01 == 1
,所以整数本身是 1 ;如果你想格式化整数回到带有前导零的字符串,你可以使用适当的格式:
int tempValue = 1;
String back = tempValue.ToString("00");
答案 1 :(得分:3)
没有像前导零的整数这样的东西。 1
只是1
。你在这里谈论价值的表现。
因此,如果您想用前导零表示整数值1
,只需使用String.Format
对其进行格式化:
String.Format("{0:00}", 1)
回应你的评论:
如果您不想使用某种格式(例如00
),而是始终附加0
,无论有多少位数,您都可以将0
添加到前面字符串,如String.Format("0{0}", 1)
或"0" + 1
。
回应你的第二条评论:
所以基本上你希望结果的数字与输入一样多(这是一个带有任意数量前导零的数字的数字)?然后你应该使用PadLeft
。
string input = "001";
string output = (int.Parse(input) + 1).ToString().PadLeft(input.Length, '0');
output
现在是"002"
。
答案 2 :(得分:1)
你不能那样做。因为,int表示数学整数。
答案 3 :(得分:1)
整数的前导零是无关紧要的。 01
与1
相同。
如果要在将整数格式化为字符串时显示前导零,请使用类似于:
的内容myInteger.ToString("00");
答案 4 :(得分:0)
您可以参考此链接。在此链接中详细讨论了整数的填充零
http://msdn.microsoft.com/en-us/library/dd260048%28v=vs.110%29.aspx
答案 5 :(得分:0)
您只能使用字符串数据类型来处理此方案。对于前导/尾随零,我们可以使用string.PadLeft和string.PadRight个函数。
答案 6 :(得分:0)
int length = 3;
int number = 20;
string asString = number.ToString("D" + length); //"020"