- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
I am looking at the best way to write float and/or double value to a fixed filed format string (say 8 in length).
Over the year we have tried different format depending on the data range but with the recent version of the compilers we have noticed some over flow or loss of accuracy.
Is there a generic way to ensure that we have the maximum accuracy when writing a number into a string considering the following special consideration: 70.6 can be written as -.0706+3.
Is there a guaranteed way to remove the leading 0 for value with a decimal point ?
Many thanks.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Gw.d[Ee] might do it, but I think there will still be at least one character lost for the E when needed.
If e is specified, the w should be greater than or equal to d + e + 5.
David
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
But double has about 17 significant figures so to not lose precision you need about 21 characters. If you use G0 the compiler selects the field width that is best for the size of the value.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
G0 won't give you an output value that will result in the same value read as input. Even 8 characters is not enough for a single precision if that's what you want.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page