On 8/21/2017 3:02 PM, James Richters wrote:
> I am having an issue with a simple floating point application.  I am setting 
> a variable to a specific value and immediately after I set it,  it is not 
> exactly what I set it to.  Here's an example
>
>    Draw_GX_Min:=999.999;
>    Writeln(Draw_GX_Min:3:30);
>
> The writeln results in 999.999000000000020000000000000000  
>
> Why is it not  999.999000000000000000000000000000  where did 0.00000000000002 
> come from?
>
Out of thin air... Well, kind of. Double floating point means 16 digits
of precision, so when you force a 30 digit precision output, anything
past 16 digits is random garbage, at best...

Ralf

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to