|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2017, 16:50 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Преобразовтаь строку в число (int/float неважно)
Здравствуйте.
Есть такая задача: нужно входную строку (цену) преобразовать в число, с необходимостью получить ошибку выполнения с последующим её перехватом в try-catch. Прямое приведение $number=(float)$str; работает с осечками на любой неправедный символ, гугл выдал мне функцию floatval, которая почему то отрезает мне нули (дал ей '1000', получил 1). Всё потому что функция пытается что то исправлять, а это не есть хорошо. В случае ошибки пользователя, и программа должна выдавать/обрабатывать ошибку, а не пытаться вносить свои лепты. Как быть ? P. S. Пока я пошёл конструировать очередной велосипед, видите ли, то что уже есть - работает не так как нужно в самых простых случаях, не говоря уже о чём то более серьёзном.
Подпись ? Не, не слышал ...
|
09.11.2017, 17:08 | #2 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Код:
Цитата:
но в целом у меня нет достаточного опыта, чтобы ответить Вам на ваш вопрос. я могу нагуглить варианты кода, но, по всей видимости, Вы это уже сделали сами. |
||
09.11.2017, 17:14 | #3 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Serge_Bliznykov, нули отрезает, ибо там пробел после единицы. В общем и целом - это не правильно; пускай он бы мне выдал ошибку, нежели пропускает, а я не в состоянии это проконтролировать. Как результат - ошибку я вижу постфактум, когда например заказчик бъёт тревогу, что здесь должно быть 1500, а здесь 1.
str_replace почему то пробел не съедает. UPD: не съедает, потому что это и не пробел вовсе. Цирк какой то. Скопировал и вставил в код, теперь работает правильно.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 09.11.2017 в 17:22. |
11.11.2017, 13:41 | #4 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
Еще можно так:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не выводится дробное число.float, ошибка,int main | felker | Общие вопросы C/C++ | 2 | 04.02.2015 12:26 |
Двухзначное число int записать как пару однозначных int (c++) | narien | Помощь студентам | 2 | 08.01.2012 15:10 |
функция float average(int arrray[],int from,int to) | yuliyayuliya | Помощь студентам | 0 | 25.04.2011 21:55 |
float to int | Артэс | Общие вопросы C/C++ | 1 | 14.12.2009 01:20 |
float to int | span4 | SQL, базы данных | 7 | 01.06.2009 10:57 |