public string GetSpelt(int input) { if (input < 0 || input >= 1000) { throw new ArgumentOutOfRangeException(); } var spelt = _units.GetSpelt(input); if (!string.IsNullOrWhiteSpace(spelt)) { return(spelt); } var hundreds = input / 100 * 100; var remainder = input - hundreds; var tens = remainder / 10 * 10; remainder -= tens; var singles = remainder % 10; var result = new StringBuilder(); AppenHundreds(result, hundreds); AppendAnd(result, hundreds, tens, singles); AppendTensAndSingles(result, tens, singles); return(result.ToString()); }