Добрый день.
Возникла следующая проблема: Double-поля выгружаются в FastReport с точкой ввиде разделителя разрядов. FastReport не воспринемает их как числовые и не дает соответственно произвести с ними мат. операции. К примеру агрегатная функция SUM при значениях 1 и 2 возвращает 12, а не 3. В скриптах - также не могу использовать значения таких полей - ругается что не вещественное число.
Double поля в FastReport
-
- топ-софт
- Сообщения: 7
- Зарегистрирован: Пн, 07/07/2008 15:29
- Имя Фамилия: Андрей Тючкалов
- Откуда: Галактика Софт
-
- топ-софт
- Сообщения: 7
- Зарегистрирован: Пн, 07/07/2008 15:29
- Имя Фамилия: Андрей Тючкалов
- Откуда: Галактика Софт
- larin
- топ-софт
- Сообщения: 228
- Зарегистрирован: Пн, 10/09/2007 12:13
- Имя Фамилия: Михаил Ларин
- Откуда: ТопCофт
- Контактная информация:
Re: Double поля в FastReport
Добрый день! Извините за задержку ответа. Упустил ваше сообщение из виду.
Задачу перевода числа в произвольном строковом виде (с запятыми, с точками, с разделителями тысяч) в числовой формат можно решить примерно следующим образом. В отчет FastReport на закладку «код» поместить функцию:
В отчете ее можно использовать следующим образом
Пример отчета во вложенном файле:
Задачу перевода числа в произвольном строковом виде (с запятыми, с точками, с разделителями тысяч) в числовой формат можно решить примерно следующим образом. В отчет FastReport на закладку «код» поместить функцию:
Код: Выделить всё
function myStrToExtended(s : string):extended;
var
i: Integer;
begin
Result := 0;
// удалить разделители тысяч - на всякий случай
while Pos(' ', s) <> 0 do
Delete(s, Pos(' ', s), 1);
try
// попробовать конвертацию для точки
for i := 1 to Length(s) do
if s[i] in [',', '.'] then
s[i] := '.';
Result := StrToFloat(s);
except
// если не получилось попробовать конвертацию для запятой
for i := 1 to Length(s) do
if s[i] in [',', '.'] then
s[i] := ',';
Result := StrToFloat(s);
end;
end;
В отчете ее можно использовать следующим образом
Код: Выделить всё
[myStrToExtended('12345.678')] и [myStrToExtended('12345,678')]
- Вложения
-
- myStrToExtended-sample.zip
- (1.08 КБ) 582 скачивания