![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Yanochka |
|
|||
![]() Fallen Angel ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1256 Регистрация: 7.10.2004 Где: Москва Репутация: нет Всего: 79 |
Для вывода вещественного числа с ограниченным количеством разрядов в дробной части числа в языке есть специальная функция преобразования строки в вещественное число. Назовите эту функцию и напишите все значения атрибута, определяющего формат записи вещественного числа:____________
-------------------- |
|||
|
||||
| Alex |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Преобразовывает действительное значение в строку, используя заданный формат, точность и число цифр
Модуль Sysutils Объявление
Описание Функция FloatToStrF преобразовывает действительное значение Value в строку, используя заданный формат Format, точность Precision и число цифр Digits. Параметр Value - действительная константа или выражение. Возможные значения параметра Format означают следующее: ffGeneral - Основной числовой формат ffExponent - Научный формат ffFixed - Формат с фиксированной запятой ffNumber - Числовой формат ffCurrency - Монетарный формат Подробное описание всех этих форматов см. в TFloatFormat. Параметр Precision определяет точность преобразовываемого значения. Значение Precision должно быть не более 7 при преобразовании типа Single, не более 15 для Double, не более 18 для Extended. Параметр Digits совместно с Format определяют форматирование строки. Подробнее см. в описании TFloatFormat. Если преобразовываемое выражение окажется не числом, функция вернет значение "NAN". Если преобразовываемое значение превышает по модулю величину, допустимую для объявленного типа данных, функция вернет значение "INF" (бесконечность) или "-INF" (минус бесконечность). Определяет формат преобразования действительных чисел Модуль Sysutils Объявление
Описание Тип TFloatFormat определяет коды форматирования чисел с плавающей запятой в функциях FloatToText, FloatToStrF, FloatToDecimal, TextToFloat. В этих функциях одновременно с форматом указываются два параметра: Precision - точность, и Digits - число цифр. Возможные значения формата определяются следующими правилами форматирования: ffGeneral - Основной числовой формат. Число преобразуется по формату с фиксированной точкой или научному в зависимости от того, какой из них оказывается короче. Начальные нули удаляются, десятичная точка ставится только при необходимости. Фиксированный формат используется, если число разрядов слева от точки не больше указанной точности Precision и если значение не меньше 0.00001. В противном случае используется научный формат, в котором параметр Digits определяет число разрядов степени - от 0 до 4 ffExponent - Научный формат. Число преобразуется в строку вида "-d.ddd...E+dddd". Общее число цифр, включая одну перед десятичной точкой, задается параметром Precision. После символа "E" всегда следует знак "+" или "-" и до четырех цифр. Параметр Digits определяет минимальное число разрядов степени - от 0 до 4 ffFixed - Формат с фиксированной точкой. Число преобразуется в строку вида "-ddd.ddd...". По крайней мере одна цифра всегда предшествует десятичной точке. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18. Если число разрядов слева от десятичной точки больше указанного параметром Precision, то используется научный формат ffNumber - Числовой формат. Число преобразуется в строку вида "-d,ddd,ddd.ddd...". Данный формат совпадает с ffFixed за исключением наличия в нем разделителей тысяч ffCurrency - Монетарный формат. Число преобразуется в строку, отображающую денежную сумму. Формат контролируется глобальными переменными CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator, задаваемыми для монетарного формата разделом Currency Format элемента International Контрольной панели Windows. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18 Для всех форматов действительные символы, используемые в качестве десятичной точки и разделителя тысяч определяются глобальными переменными DecimalSeparator и ThousandSeparator. Если S - строка, а R - действительное число или выражение, то оператор
даст следующие результаты при разных значениях R:
Оператор
даст те же результаты, но для корня из 2 число цифр результата не превысит заданного значения 7: 1,414214. Как правило, формат ffGeneral с ограниченным числом цифр наиболее удачен для большинства применений. -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
||||||||||
|
|||||||||||
| dm9 |
|
||||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
Альтернатива:
5 - число знаков после запятой, t - вещественная переменная.
n - число знаков после запятой, t - вещественная переменная. У функции format есть ещё много интересных возможностей. |
||||
|
|||||
| Yanochka |
|
|||
![]() Fallen Angel ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1256 Регистрация: 7.10.2004 Где: Москва Репутация: нет Всего: 79 |
Alex, dm9
Большое спасибо Записала вто как
не смотря на то что скажет препод Это сообщение отредактировал(а) Yanochka - 29.12.2004, 21:48 -------------------- |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
dm9, боюсь ее препод скажит, что это слишком заумно
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
Yanochka, если так:
то циферка будет прижиматься к левому краю. Обычно так удобнее бывает Добавлено @ 21:58 Alex, надо сказать, о возможности передавать в ф-цию несколько переменных через одну я узнал только из хелпа по ф-ции Format. Интересная функция Это сообщение отредактировал(а) dm9 - 29.12.2004, 21:59 |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
dm9, просто
Из http://forum.vingrad.ru/index.php?showtopi...hl=Задача&st=15 -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
Понял
PS Оффтоп, конечно, но прочитал задание в той теме и мне стало очень хорошо от того, что мне такое программировать не надо |
|||
|
||||
| Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
К этому заданию слегка не подходит, но все же...
В Паскале был, так называемый, форматированый вывод чисел:
Где первое число задает количество выводимых цифр, а второе количество цифр в дробной части. К сожалению, эта конструкция в Delphi работает только с write/writeln. Больше мне нигде не удалось ее задействовать... |
|||
|
||||
| Dimich |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 25.8.2004 Где: Брянск Репутация: 1 Всего: 7 |
Как вариант могу предложить еще процедуру
--------------------
Не работает - исправь, работает - не трогай!!! |
|||
|
||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
Dimich, интересно
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |