public string ProcessInput(string num) { if (!_inputValidator.Validate(num)) { return(num + InvalidInputError); } var word = new StringBuilder(); var firstNumber = 0; var secondNumber = 0; if (num.Contains('.')) { var numbers = num.Split('.'); if (numbers[1].Length > 2) { return(num + InvalidInputError); } firstNumber = Convert.ToInt32(numbers[0]); secondNumber = Convert.ToInt32(numbers[1]); } else { firstNumber = Convert.ToInt32(num); } var dollarAmount = _converter.NumberToWords(firstNumber, word) + DollarText; var centsAmount = _converter.NumberToWords(secondNumber, word.Clear()) + CentsText; return((dollarAmount + centsAmount).Trim()); }