Как я могу разобрать строку на Double

#java #android

#java #Android

Вопрос:

Я хочу разобрать 78 в двойную переменную, где 78 хранится в виде строки

Я использовал приведенный ниже код для синтаксического анализа.

 Double.parseDouble(78);
  

Она отображает ошибку исключения java.lang.NumberFormatException

Пожалуйста, скажите мне, как я могу разобрать строку 78 в double

Комментарии:

1. developer.android.com/reference/java/lang/Double.html множество подобных проблем можно решить, используя доступную ссылку.

Ответ №1:

Ну, то, что вы передали, было целым числом, а не строкой.

Чтобы использовать ее, сделайте это:

 Double.parseDouble("78");
  

Комментарии:

1. Или, если вы действительно хотели преобразовать целое число в double … double d = 78;

2. Извините, я привожу здесь только пример, я не передаю 78 в моем реальном коде, я передал там строковую переменную

3. @Mohit. итак, вы должны опубликовать свой полный код, иначе вы получите ответы, подобные этому (или несколько полные)

4. Вероятно, по какой-либо причине строка в конечном итоге содержит что-то другое, кроме двух цифр? Код, вероятно, помог бы, да.

5. У меня есть подозрение, что там есть начальный или конечный пробел. Это могло бы быть что-то более экзотическое, но обычно это простые вещи.

Ответ №2:

Этого не должно быть, Double.parseDouble(78) но Double.parseDouble("78") вместо этого.

В этом случае это не должно давать вам никаких исключений.

Комментарии:

1. Извините, я привожу здесь только пример, я не передаю 78 в моем реальном коде, я передал там строковую переменную

Ответ №3:

передайте ее как String

 Double.parseDouble("78");
  

Комментарии:

1. Извините, я привожу здесь только пример, я не передаю 78 в моем реальном коде, я передал там строковую переменную

2. Можете ли вы сказать мне, какую именно строку она передает?

Ответ №4:

Вам нужно заключить ваш параметр в кавычки.

 Double.parseDouble("78");
  

Комментарии:

1. Извините, я привожу здесь только пример, я не передаю 78 в моем реальном коде, я передал там строковую переменную

2. Можете ли вы опубликовать код для этого преобразования строки, которое вы выполняете?

Ответ №5:

Ну, я сильно подозреваю, что значение передаваемой вами строковой переменной на самом деле не является допустимым числом. Я предлагаю вам записать значение каждого символа в Юникоде, чтобы вы могли точно видеть, что там.

Приведенный вами код (передача строки «78») должен быть абсолютно точным… но у вас могут быть некоторые дополнительные, невидимые символы в вашей реальной строке. Регистрация точных значений должна прояснить это.

Ответ №6:

перед тем, как вы проанализируете свою строковую переменную, используйте метод trim() , чтобы убедиться, что ваша строка содержит только числа, , попробуйте это :

 myStringToParse = myStringToParse.trim();
Double.parseDouble(myStringToParse);