in reply to Different values while applying format specifiers

You didn't post your sprintf code. Can you create a small testcase which we can run which demonstrates your problem?
use warnings; use strict; $a=5.10; $b=$a*100; printf("%d\n",$b); my $x=sprintf("%d\n",$b); print $x; __END__ 509 509