如何将字符串“001”转换为int 001?使用Convert.ToInt32()方法或Int32.Parse()方法将结果仅为1
答案 0 :(得分:13)
你怎么能把001作为001呢?您可以将其格式化为带有前导零的字符串,但int本身只是一个数字表示。请记住,语言需要一种方法来将int表示为一系列字符,并且它需要是确定性的(因为否则它将无法选择)。所以标准是不显示任何前导零。
答案 1 :(得分:9)
你不能在前面加上int
这样的零 - 没有多大意义。如果格式很重要,您只需将其保留为string
。
答案 2 :(得分:7)
你的问题存在根本性的误解。 int是一个数字,在我们的数字系统中,小数点左边的前导零不会改变数字,因此无关紧要。换句话说,1等于01等于001等于0001等等......这看似显而易见,但它表明1是整数值。 001是一个字符串。
答案 3 :(得分:7)
1是整数,001是字符串。如果您尝试将3位数字系列显示为id或类似物并且正在递增,则需要将字符串“001”转换为整数,然后将其递增,然后将其转换回“0”填充字符串以供显示。
public string NextId(string currentId)
{
int i = 0;
if (int.TryParse(currentId, out i))
{
i++;
return(i.ToString().PadLeft(3,'0'));
}
throw new System.ArgumentException("Non-numeric string passed as argument");
}
答案 4 :(得分:1)
整数不能存储值001.结果1是正确的。
答案 5 :(得分:1)
您需要详细说明为什么需要其他零。
虽然在字节形式中它将具有沿001(或0000000000000001)的行的表示,但运行时不知道您要在哪个基数中表示数字,因此第2和第3列(其他两个零)很暧昧。
答案 6 :(得分:0)
int永远不会以'0'开头,只能使用字符串。
答案 7 :(得分:0)
您可以使用Int32.ToString("000")
以这种方式格式化整数。
string one = a.ToString("000"); // 001
string two = b.ToString("000"); // 010
但你不能像整数001一样使用。