make input data more robust:
1. restrict input type
2. add try catch for String -> Double
3. keep two decimal places for bonus