#c#
#c#
Вопрос:
В моем коде у меня есть преобразование строкового значения в значение с плавающей точкой. В моем коде: guns — массив (размер = 5) и Chargunsinformations — строковое значение.
guns[gunsNum] = float.Parse(ChargunsInformation);
Unity выдает ошибку:
Исключение FormatException: входная строка была в неправильном формате. System.Number.Единый синтаксический анализ (System.Строковое значение, система.Глобализация.Параметры NumberStyles, система.Глобализация.NumberFormatInfo numfmt) (в <437ba245d8404784b9fbab9b439ac908>:0) системе.Одиночный.Синтаксический анализ (System.Строка s, System.Глобализация.Стиль NumberStyles, система.Глобализация.NumberFormatInfo info) (в <437ba245d8404784b9fbab9b439ac908>:0) Системе.Одиночный.Синтаксический анализ (System.Строка s, System.Поставщик IFormatProvider) (в <437ba245d8404784b9fbab9b439ac908>:0) системе.Преобразовать.ToSingle (система.Строковое значение) (в <437ba245d8404784b9fbab9b439ac908>:0) StartOfAllScript.Update () (в Assets/Scripts/Player Scripts/StartOfAllScript.cs:35)
Пожалуйста, помогите мне. Я пытался решить эту проблему в течение 2 часов.
Комментарии:
1. Что такое value в
ChargunsInformation
и почему вы добавилиp
тег для этого вопроса? Вы можете попробоватьfloat.TryParse()
вместоfloat.parse()
Ответ №1:
Я предполагаю, что проблема связана с культурой вашей системы. Пожалуйста, попробуйте следующий фрагмент кода
guns[gunsNum] = float.Parse(ChargunsInformation, CultureInfo.InvariantCulture);
Комментарии:
1. Ресурсы Скрипты Скрипты проигрывателя StartOfAllScript.cs(34,66): ошибка CS0103: имя ‘CultureInfo’ не существует в текущем контексте, что дает мне unity
2. Вы добавили систему. Пространство имен глобализации? Не могли бы вы, пожалуйста, указать значение, которое вы хотите преобразовать, и текущую культуру вашей системы?
3. Да, я добавил. Я хочу преобразовать Chargunsinformations в значение массива guns
4. Какое значение в переменной «Chargunsinformations» вы хотите преобразовать? И не могли бы вы, пожалуйста, указать текущую культуру вашей системы. итак, полезно воспроизвести проблему?
5. Chargunsinformations — строковое значение, которое я хочу преобразовать. И моя культура — ru-RU