use POSIX "floor"; my $yearlyamount = 5199.98; my $weekly1 = sprintf("%.3f", $yearlyamount/52); chop($weekly1); my $weekly2 = floor(100*5199.98/52)/100; printf("%5.2f %5.2f\n", $weekly1, $weekly2); __END__ 100.00 99.99