|  Отключение/подключение директив. Помогите, прошу.., Как принудить 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 | 
|   | 
|   | Текстовая версия | 1.11.2025 0:01 |