in reply to Rounding problem with sprintf??

2.815 can not be precisely represented by a floating point number
printf("%.20f\n", 2.815);