Avoid floating-point drift from parseFloat * 100 by parsing digits then concatenating; dollarsToCents returns null for invalid input.