Ես ունեմ Bluetooth մոդուլ, որը տողերի հոսք է փոխանցում Unity հավելված: Նման է լարային փոփոխականին։ Սրանք x, y և z են imu սենսորից: Ես փորձում եմ արժեքներն առանձնացնել իրենց սեփական x, y, z փոփոխականների մեջ, այսինքն՝ int x, int y և int z:
Այսպիսով, երբ ես փորձում եմ ստորև նշված կոդը: Սա սխալն է.
FormatException. մուտքագրման տողը ճիշտ ձևաչափով չէր: System.Number.StringToNumber (System.String str, System.Globalization.NumberStyles ընտրանքներ, System.Number+NumberBuffer& number, System.Globalization.NumberFormatInfo info, System.Boolean parseDecimal) (at :0)
Code (csharp):
public void fishing()
{
string numo = "4,-1,5,7,8,10,5,-4,8,10,-30";
string[] splitted = numo.Split(',');
int[] nums = new int[splitted.Length];
for (int i = 0; i < splitted.Length; i++)
{
//source of error.
nums[i] = int.Parse(splitted[i],
System.Globalization.NumberStyles.AllowLeadingSign);
int x = nums[0];
int y = nums[1];
int z = nums[2];
Debug.Log(x);
Debug.Log(y);
Debug.Log(z);
}
}
Այնուհետև ես փորձեցի գործարկել կոդը՝ առանց ամբողջ թվերի փոխակերպման: Սա սխալն է.
IndexOutOfRangeException. ինդեքսը զանգվածի սահմաններից դուրս էր:
Code (csharp):
public void fishing()
{
string numo = "4,-1,5,7,8,10,5,-4,8,10,-30";
string[] splitted = numo.Split(',');
int[] nums = new int[splitted.Length];
for (int i = 0; i < splitted.Length; i++)
{
string x = splitted[0];
string y = splitted[1];
string z = splitted[2];
Debug.Log(x);
Debug.Log(y);
Debug.Log(z);
}
}
Այսպիսով, ինչպես բացատրվեց, ես ունեմ x,y,z,x,y,z,x,y,z տող, որը գալիս է Bluetooth մոդուլից: Ես կցանկանայի ստանալ տվյալները և սահմանել դրանք որպես տարբեր փոփոխականներ:
int x; int y, int z
Հուսով եմ, որ դուք կարող եք օգնել