如何将字符串"001"转换为int 001

Pra*_*dhi 0 c#

如何将字符串"001"转换为int 001?使用Convert.ToInt32()方法或Int32.Parse()方法将结果仅为1

dan*_*ben 13

你怎么能把001作为001呢?您可以将其格式化为带有前导零的字符串,但int本身只是一个数字表示.请记住,语言需要一种方法来将int表示为一系列字符,并且它需要是确定性的(因为否则它将无法选择).所以标准是不显示任何前导零.


Mar*_*arz 9

你不能int在前面加零 - 这没有多大意义.如果格式很重要,您只需将其保留为string.


Mic*_*ray 7

你的问题存在根本性的误解.int是一个数字,在我们的数字系统中,小数点左边的前导零不会改变数字,因此无关紧要.换句话说,1等于01等于001等于0001等等......这看似显而易见,但它表明1是整数值.001是一个字符串.


jac*_*jac 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");
}
Run Code Online (Sandbox Code Playgroud)