in reply to sprintf values

Just assuming you are wondering about the following line:

895 0000000894

Floating point arithmetic isn't precise (or too precise, depending on the way you see it ;-) due to the way floating-point-values are stored internally.

You might want to check the following node (and the whole thread): Re: Simple math gone wrong.

8.95 * 100 will probably result internally to 894.9999999 - and if you print that, you'll get 894. Think about rounding the result before sprintf-ing it.

HTH, Rata