Помощь - Поиск - Пользователи - Календарь
Полная версия: Преобразовать строку в число
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
rekrut
Значит дана строка символов состоящая из цифр и ее надо как то преобразовать в число, что бы програма понимала ету строку как integer, искал искал функции чето такой нигде пока что не нашел.
Проблема заключается из за того что если сортировать строки (тип string) чисел то выходит что число 20 больше чем число 100000 из за того что у числа 20 первая цифра (2) больше чем первая цифра другой строки из за етого не оплучается сортировка полей, а если поменять тип поля на integer то програма вылетает со странной ошибкой какойто.
volvo
Проблема в том, что при сравнении строк так как ты хочешь, надо сначала сравнивать длины строк, и только если длины одинаковы - то сравнивать собственно сами строки... Если же длины разные - то больше значение той строки, которая длиннее (если нет незначащих нулей, естественно)...

А собственно процедура, преобразующая строку в число - Val ...
Артемий
Функция val(s,x,n)
rekrut
Цитата
Функция val(s,x,n)


Ето процедура вообщето, я то вот пытаюсь ее использовать но она не пашет блин, потому и думал может другой способ есть. Ладно буду пытаться с етой процедурой тогда долбить, просто последний параметр n что то лагает и из за него не пашет ниче

Добавлено через 18 мин.
Наконецто разобрался, просто у меня сортировка с динамическими данными всеми етими указателями происходит поетому немного сложновато вот и запутался терь все пашет через процедуру VAL главное место правильное найти надо было куда ее впихнуть

ТОП Клоуз
Артемий
Вообщето n - это результат преобразования,а само число в x.Если n<>0=true значит это у тебя со строкой неладно наверно..

Добавлено через 3 мин.
Последнего твоего добавления не было
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.