将带前导零的字符串转换为整数

时间:2014-01-28 11:25:14

标签: c#

当我将此字符串转换为int时,我有一个字符串(string value="01") (int tempValue= int.Parse(value))。然后我得到结果= 1。 我希望这个值与字符串值相同,这是前导零。

答案: -

int length = 3;
int number = 20;
string asString = number.ToString("D" + length); //"020"

7 个答案:

答案 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)

整数的前导零是无关紧要的。 011相同。

如果要在将整数格式化为字符串时显示前导零,请使用类似于:

的内容
myInteger.ToString("00");

答案 4 :(得分:0)

您可以参考此链接。在此链接中详细讨论了整数的填充零

http://msdn.microsoft.com/en-us/library/dd260048%28v=vs.110%29.aspx

答案 5 :(得分:0)

您只能使用字符串数据类型来处理此方案。对于前导/尾随零,我们可以使用string.PadLeftstring.PadRight个函数。

答案 6 :(得分:0)

int length = 3;
int number = 20;
string asString = number.ToString("D" + length); //"020"