Writing number to string

Writing number to string

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.

4 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.
Portrait de David White

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

Portrait de app4619

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.

Portrait de Steve Lionel (Intel)

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.

Steve

Connectez-vous pour laisser un commentaire.