Страница 1 из 1
		
			
				Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
30.10.2013 09:47:57 Tango
				Firebird цифры выводятся в формате 1Е3=1000.
В полях с типом Numeric(X,Y) и Decimal(X,Y) цифры выводятся по такому формату : 1500=1,5Е3. В полях с DOUBLE PRECISION, выводятся всё нормально.
Lazarus 1.Х, Firebird 2.1 и 2.5. FPC 2.6.2.
			 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
30.10.2013 10:07:58 dunin
				Tango, попробуйте поэксперементировать с другими компонентами для вывода данных.
			 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
30.10.2013 13:30:03 Tango
				Это для всех компонент вывода данных.
			 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
30.10.2013 19:01:54 Little_Roo
				Tango писал(а):В полях с типом Numeric(X,Y) и Decimal(X,Y) цифры выводятся по такому формату : 1500=1,5Е3
А какой компонент вывода? 
У себя не замечал - DBEdit, RxDbGrid - OK!
 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
31.10.2013 14:15:04 Tango
				И DBGrid и DBEdit. Использую ZEOS 7.0.3 stble.
			 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
08.08.2014 16:16:22 Tango
				Дело не в компонентах ввода данных, данные такими предоставляет сам ZQuery. Попробовал победить это с помощью добавления полей в FieldDefs с форматом отображения, получается лишь частично, не на всех базах, получается иногда, что поле Numeric(8, 2) определяется как ftInteger.
			 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
31.10.2014 22:28:07 ViruZ
				Аналогично при работе с файлами формата dbf: в стабильной сборке Lazarus 1.2.4 всё ОК, а в SVN - экспоненциальный формат.
Ниже привожу скриншот в OpenSuse 13.1 x64 (Lazarus SVN), Windows то же самое.

 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
01.11.2014 10:28:34 alexs
				Укажи в маске поля явный формат - #,###,####,##0.00.
			 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
01.11.2014 10:33:31 Vadim
				Или создайте поля самостоятельно, присвоив им нужный тип вручную.
			 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
02.03.2015 14:09:25 Tango
				alexs писал(а):Укажи в маске поля явный формат - #,###,####,##0.00.
Не понятно, где разделители разрядов, где дробной части?
Я делал так. И ничего не изменилось.
- Код: Выделить всё
-     For i:=1 to Fields.Count do
 Begin
 Case Fields[i-1].DataType of
 ftSmallint, ftInteger, ftLargeint, ftWord, ftAutoInc:Begin
 FieldsDefs[j]:=TIntegerField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 end;
 ftFloat:Begin
 FieldsDefs[j]:=TFloatField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 TFloatField(FieldsDefs[j]).Precision:=5;
 TFloatField(FieldsDefs[j]).DisplayFormat:='#.#####0.00000';
 Inc(j);
 End;
 ftCurrency:Begin
 FieldsDefs[j]:=TCurrencyField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 TFloatField(FieldsDefs[j]).DisplayFormat:='#.##0.00';
 Inc(j);
 End;
 ftBCD, ftFMTBcd:Begin
 FieldsDefs[j]:=TNumericField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 TNumericField(FieldsDefs[j]).DisplayFormat:='#.#####0.00000';
 Inc(j);
 End;
 ftString, ftFixedChar, ftVariant:Begin
 FieldsDefs[j]:=TStringField.Create(Self);
 FieldsDefs[j].Size:=Fields[i-1].Size;
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 End;
 ftFixedWideChar, ftWideString:Begin
 FieldsDefs[j]:=TWideStringField.Create(Self);
 FieldsDefs[j].Size:=Fields[i-1].Size;
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 End;
 ftDate:Begin
 FieldsDefs[j]:=TDateField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 End;
 ftTime:Begin
 FieldsDefs[j]:=TTimeField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 End;
 ftDateTime{$IFDEF FPC}, ftTimeStamp{$ENDIF}:Begin
 FieldsDefs[j]:=TDateTimeField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 End;
 {$IFNDEF FPC}
 ftTimeStamp:Begin
 FieldsDefs[j]:=TSQLTimeStampField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 End;
 {$ENDIF}
 ftBoolean:Begin
 FieldsDefs[j]:=TBooleanField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 End;
 ftBytes, ftOraBlob, ftVarBytes, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
 ftParadoxOle, ftDBaseOle, ftTypedBinary, ftArray,
 ftWideMemo:Begin
 FieldsDefs[j]:=TBlobField.Create(Self);
 FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
 Inc(j);
 End;
 End;
 End;
 
 
			
		
			
				Re: Firebird цифры выводятся в формате 1Е3=1000
				
Добавлено: 
02.03.2015 14:38:17 *Rik*
				Попробуй перед использованием компонентов поставить:
DefaultFormatSettings.ThousandSeparator := ' ';//Пробел
FormatSettings.ThousandSeparator := ' ';//Прообел
Еще разделитель дробной часть надо запятую так-же задать, там возможно точка стоит