我真的不知道发生了什么。它第一次工作,然后当我第二次尝试失败时
我已经检查过拼写但没有找到任何内容。我没有帮助就迷失了
我用错误行//comment
指出:)
为了防止我的代码不明白,我希望使用[1]
选择器获取第二个数字
我的代码是:
static void Main(string[] args)
{
españolizar("55","44");
}
static void españolizar(string str, string str2)
{
string[] list1={"cero","un","dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","once","doce","trece","catorce","quince"};
string[] list2={"nivelarindexes","dieci","veinti","trei","cuare","cincue","sese","sete","oche","nove"};
int numero = int.Parse(str);
string strNumero = Convert.ToString(numero);
int primerDigito = int.Parse(Convert.ToString(strNumero[0]));
int segundoDigito = 0;
if (strNumero.Length > 1)
//this is the one that fails
segundoDigito = int.Parse(Convert.ToString(strNumero[1]));
//\-------------------------/
}
Console.WriteLine(strNumero);
Console.ReadLine();
}
答案 0 :(得分:4)
if (strNumero.Length > 1)
{ //ADD THIS!!!!
segundoDigito = int.Parse(Convert.ToString(strNumero[1]));
}
你忘了打开牙套。
答案 1 :(得分:1)
只要数字是正数(没有前导减号),您就可以得到第一个数字:
strNumero[0] - '0'
第二位:
strNumero[1] - '0'
您无需调用任何花哨的解析函数来转换单个数字。
答案 2 :(得分:0)
实际上,如果您还需要char
,则不需要string
并来回投射。然后,您还可以使用String.Substring
和int.TryParse
。
String str = "56";
int firstDigit = 0;
int secondDigit = 0;
int.TryParse(str.Substring(0, 1), out firstDigit);
int.TryParse(str.Substring(1, 1), out secondDigit);
Console.WriteLine(String.Format("first digit:{0} second digit:{1}",firstDigit,secondDigit));
//result=> "first digit:5 second digit:6"