Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Преобразовать строку в число

Автор: rekrut 23.06.2007 22:50

Значит дана строка символов состоящая из цифр и ее надо как то преобразовать в число, что бы програма понимала ету строку как integer, искал искал функции чето такой нигде пока что не нашел.
Проблема заключается из за того что если сортировать строки (тип string) чисел то выходит что число 20 больше чем число 100000 из за того что у числа 20 первая цифра (2) больше чем первая цифра другой строки из за етого не оплучается сортировка полей, а если поменять тип поля на integer то програма вылетает со странной ошибкой какойто.

Автор: volvo 23.06.2007 22:57

Проблема в том, что при сравнении строк так как ты хочешь, надо сначала сравнивать длины строк, и только если длины одинаковы - то сравнивать собственно сами строки... Если же длины разные - то больше значение той строки, которая длиннее (если нет незначащих нулей, естественно)...

А собственно процедура, преобразующая строку в число - Val ...

Автор: Артемий 23.06.2007 22:59

Функция val(s,x,n)

Автор: rekrut 23.06.2007 23:02

Цитата
Функция val(s,x,n)


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

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

ТОП Клоуз

Автор: Артемий 23.06.2007 23:20

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

Добавлено через 3 мин.
Последнего твоего добавления не было