![]() |
Модераторы: volvo877, Snowy, MetalFan |
![]() ![]() ![]() |
|
Magnetto |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.2.2007 Где: Ukraine Репутация: нет Всего: нет |
Добрый вечер...
хотел обратиться за помощью... допустим есть у меня число в переменной Real (или любой другой , которая позволяет записывать числа с точкой)...мое задание - подсчитать количество цифр этого числа... было решение написать такой код
в данном коде число будет умножатся до тех пор пока не исчезнет точка , что позволит нам получить целое число с сохранением всех цифр числа , для подальшего их подсчета(второй цикл)....но тут есть другая заминка...trunc преобразует число в integer..и это означает что числа выше пяти символов или ~32000 при переумножении уже не пройдут , т.к банально будет неправильный подсчет , в чем я и переубедился при отладке данного кода.... кто может посоветовать другой метод подсчета цифр в числе или с помощью чего можно подсчитать числа выше грани integer? благодарю |
|||
|
||||
volvo877 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
С чего бы это? Функция Trunc возвращает LongInt, но вот используешь ты ее неправильно... Никогда Trunc(X) не будет равно X, если переменная X не целочисленная... Вариант первый:
Не сработает, если итоговое число не будет помещаться в LongInt. Тогда работаем по варианту №2:
(если нигде не ошибся - должно отработать...) |
||||
|
|||||
Magnetto |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.2.2007 Где: Ukraine Репутация: нет Всего: нет |
благодарю...
мне нужна была только идея , дальше сам буду разбираться в двух вариантах.... спс... Это сообщение отредактировал(а) Magnetto - 21.9.2007, 07:24 |
|||
|
||||
greenpc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.1.2007 Репутация: нет Всего: нет |
Magnetto,
|
|||
|
||||
Skladnoy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.9.2007 Репутация: нет Всего: нет |
А как вообще следукт понимать количство цифр в числе с плавающей точкой? К примеру, сколько там значащих цифр? |
|||
|
||||
Magnetto |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.2.2007 Где: Ukraine Репутация: нет Всего: нет |
greenpc , да..я сделал ошибку , забыв указать компилятор...
Tubro Pascal v7.0...если бы в нем был FloatTostr этого топа не было бы даже... благодарю еще раз , volvo877 , программа отлажена...все работает =) |
|||
|
||||
Magnetto |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.2.2007 Где: Ukraine Репутация: нет Всего: нет |
Skladnoy
именно в бп , тп это не так легко реализуемо относительно того же делфи , где вся задача состоит из
в бп и тп чуть по другому реализация идет...поэтому у меня получилась заминка... ну вот допустим есть число 123,321...в этом числе 6 цифр...11,198 - пять...и т.д.. з.ы тему можно закрывать..програмулька сделана... |
|||
|
||||
Skladnoy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.9.2007 Репутация: нет Всего: нет |
||||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
12 если используется Real и 16 - если Double... Больше разрядность не позволит... Еще вопросы есть, или уже перестанешь глупостями заниматься? Автор, если ты не успел заметить в своем рвении запостить ответ, пометил вопрос как решенный. Или обязательно тему закрыть надо? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |