Отключение/подключение директив. Помогите, прошу.., Как принудить Pascal работать с нецелыми числами? |
Отключение/подключение директив. Помогите, прошу.., Как принудить Pascal работать с нецелыми числами? |
brook |
18.04.2012 12:56
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Здравствуйте! Столкнулся с проблемой, которую не могу решить. Мне необходимо сделать так, чтобы Pascal ABC не переводил нецелые числа в числа с плавающей точкой (запятой), т.е. надо, чтобы он всегда работал с, например, такими числами: 0.000000000000078900000006, а не переводил их в вид 7.8900000006E-14. Подскажите, как принудить работать Pascal именно с такими "неудобными" для него числами.
Пожалуйста, откликнитесь! Очень срочно нужна помощь. |
IUnknown |
18.04.2012 13:14
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
В каком виде он будет работать - это его проблема, главное, чтоб он показывал значения в НЕэкспоненциальном виде. Для этого есть формат вывода:
var x: real; Online-компилятор PascalABC по крайней мере выводит "0.0000000000000789000000060000", не знаю как автономная версия, я ее не держу. |
brook |
18.04.2012 21:58
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Спасибо большое, но в моем случае надо сделать так, чтобы результат был без E, а не ответ
|
IUnknown |
18.04.2012 23:34
Сообщение
#4
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Результат (я о представлении вещественных чисел в PascalABC, они там только Real, других типов нет) всегда одинаковый, это обычное 64-битное число (15-16 значащих цифр и значения по модулю не превосходящие 1.7*10308). Единственное, на что ты можешь хоть как-то влиять - это на способ его отображения. Не хочешь - не надо, ищи другой компилятор (вернее, интерпретатор)
Кстати, вышеприведенный код на PascalABC (старом, не .NET-овом) ведет себя не так, он просто выводит 0. Оно и понятно, максимум 16 значащих цифр, точнее чем 0.0000000000000789 вывести не удастся. Сообщение отредактировано: IUnknown - 18.04.2012 23:35 |
Текстовая версия | 3.11.2024 15:53 |