Консультация № 84383
26.04.2007, 23:04
0.00 руб.
0 3 3
Здравствуйте. А как в stringgrid сделать так, чтоб выводились не все значения после запятой, коих очень много, а, допустим, всего 2 или 3? Подскажите пожалуйста.

Обсуждение

Неизвестный
26.04.2007, 23:27
общий
это ответ
Здравствуйте, SunnyKiller!

Для форматированного вывода вещественных чисел можно использовать такие функции:
s:string;

s:=<b>FloatToStrF</b>(t,ffFixed,7,2) - выводим вещественное число <b>t</b> с двумя знаками после запятой. <font color=blue>И общим количеством цифр (включая запятую) в семь штук.<i>Добавил sir henry</i></font>
s:=<b>FormatFloat</b>(‘#.000‘,1234.1234); - выводим вещественное число с тремя знаками после запятой.
s:=<b>Format</b>(‘%5.4f‘,[1234.123467]); - выводим вещественное число с четырмя знаками после запятой.

Более подробно о параметрах и использовании этих функция можно прочитать в такой <a href=http://psf.grsu.by/UchProc/konspekt/delphi/ch05/ch03/ch01/ch01>справке</a>.

Good Luck!!!
Неизвестный
27.04.2007, 01:43
общий
это ответ
Здравствуйте, SunnyKiller!
FormatFloat(формат - String,значение - Real,extended)- возвращаемое значение строка.
формат вот например
0 1234
#,##0.00 1,234.00
0.00 1234.00
Неизвестный
27.04.2007, 13:11
общий
это ответ
Здравствуйте, SunnyKiller!
Для этого используется ф-ция FloatToStrF. Например, число 25,120845 можно перобразовать в строковый и присвоить ячейке таблицы следующим образом:
a := 25, 120845
StringGrid1.Cells[1,1] := FloatToStrF( a, ffFixed, 6, 2);
Получаем 6 символов на число, включая запятую, причем после запятой будет 2 символа.
Параметры в этой функции могут быть следующие:
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
Если преобразовываемое выражение окажется не числом, функция вернет значение "NAN". Если преобразовываемое значение превышает по модулю величину, допустимую для объявленного типа данных, функция вернет значение "INF" (бесконечность) или "-INF" (минус бесконечность).
Форма ответа