[Lazarus] Problem rounding values at post

Philippe philippe at quarta.com.br
Wed Jun 4 00:03:57 CEST 2014


 

generally, if one needs accurate values he does not use real values
... use integer (or word, longint, longword etc) ... then when needed
make the conversion or formating (for computing or printing) ... 

(it
may exists another solution ... someone else may help better for that!)


Philippe 

Em 03.06.2014 17:39, Daniel Erles escreveu: 

> Hello. 
> I
have this problem: 
> 
> My database (Firebird) has a table with the
following fields: 
> ... 
> rTitle DECIMAL(8,4) not null, 
> rDiameter
DECIMAL(10,6) not null, 
> ... 
> 
> In my program I have a Form with a
a TZTable object (ZEOS) called zData, bound to that table. 
> In a
routine I have the following code: 
> 
> zData.Insert; 
> ... 
>
zData.FieldByName('rTitle').AsFloat := 0.12; 
>
zData.FieldByName('rDiameter').AsFloat := 0.12; 
> ... 
> zData.Post; 
>

> Then, at the table, I see that the values ​​are stored as follows: 
>

> rTitle = 0.1199 
> rDiameter = 0.12 
> 
> Do not know why rTitle is
0.1199 instead of 0.12 
> I need the saved values ​​are accurate. 
>
I've tried AsFloat, AsCurrency, Value, always with the same result. 
>

> Any idea? 
> 
> Tks. 
> Daniel. 
> 
> --
>
_______________________________________________
> Lazarus mailing list
>
Lazarus at lists.lazarus.freepascal.org
>
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus [1]




Links:
------
[1]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20140603/8fe9fd10/attachment-0003.html>


More information about the Lazarus mailing list