String strOrderSum = driver.findElement(By.cssSelector(".cart-uah.cart-sum-uah>span")).getText();
Тут я получаю строку "7999".
orderSum = Double.valueOf(strOrderSum);
И переобразовую ее в double. Но мне выдает ошибку. В чем дело?
Отправлено 25 сентября 2016 - 20:20
String strOrderSum = driver.findElement(By.cssSelector(".cart-uah.cart-sum-uah>span")).getText();
Тут я получаю строку "7999".
orderSum = Double.valueOf(strOrderSum);
И переобразовую ее в double. Но мне выдает ошибку. В чем дело?
Отправлено 26 сентября 2016 - 03:49
orderSum это double?
Попробуйте Double.parseDouble(strOrderSum);
Ну а вообще надо бы еще прикладывать текст ошибки. Да и эта проблема не относится к селену.
Отправлено 26 сентября 2016 - 07:03
orderSum это double?
Попробуйте Double.parseDouble(strOrderSum);
Ну а вообще надо бы еще прикладывать текст ошибки. Да и эта проблема не относится к селену.
Попробывавл та же ошибка. вот она:
<![CDATA[java.lang.NumberFormatException: For input string: "7 999"
<exception class="java.lang.NumberFormatException">
Отправлено 26 сентября 2016 - 07:28
В первом сообщении Вы привели строку "7999", а по факту то оказывается "7 999"
Double.parseDouble(strOrderSum.replaceAll(" ","")); можно и иначе с приведением к формату, но это тоже сработает. Удалит пробелы
Отправлено 26 сентября 2016 - 07:28
Ты "7999" можешь преобразовать из строки в double
"7 999" не можешь, т.к. есть пробел
Самый простой способ у строки вызвать метод replaceAll(" ", ""); - т.е. мы заменяем пробел на пусто
String strOrderSum = "7 999".replaceAll(" ", ""); double orderSum = Double.valueOf(strOrderSum); System.out.println(orderSum + 0.1);
Отправлено 26 сентября 2016 - 07:36
попробуйте также Double.parseDouble(strOrderSum.replaceAll("\\s",""));
Отправлено 26 сентября 2016 - 07:40
попробуйте также Double.parseDouble(strOrderSum.test.replaceAll("\\s",""));
а что такое "test" ?
Отправлено 26 сентября 2016 - 08:22
попробуйте также Double.parseDouble(strOrderSum.test.replaceAll("\\s",""));
а что такое "test" ?
вспоминал какой whitespace символ надо вставить =)
Отправлено 26 сентября 2016 - 08:25
попробуйте также Double.parseDouble(strOrderSum.test.replaceAll("\\s",""));
а что такое "test" ?
вспоминал какой whitespace символ надо вставить =)
Так лучше и не вспоминать))
1.strOrderSum = "7 999".replaceAll(" ", ""); 2.strOrderSum = "7 999".replaceAll("\\s", "");
Строка 1 более читабельна, чем строка 2. Имхо, конечно
Тестирование →
Автоматизированное тестирование →
Дайте что-то протестировать на Java + SeleniumАвтор mortrum, 28 сен 2019 Selenium Java |
|
|||
Тестирование →
Автоматизированное тестирование →
Selenium - Functional Testing →
Помогите нажать кнопку по локаторуАвтор Tosternica, 19 мар 2014 selenium java |
|
0 пользователей, 0 гостей, 0 анонимных