private IEnumerable <string> ConvertGrade(long value, Localizable localizable, bool showZero, bool isMust) { var hundred = value / 100; var ten = (value - hundred * 100) / 10; var one = value % 10; if (0 != hundred) { yield return(Localize(hundred * 100, localizable)); } if (value % 100 >= 20) { if (0 != ten) { yield return(Localize(ten * 10, localizable)); } } else { one = value % 100; } if (0 != one || (0 == hundred && 0 == ten && isMust)) { yield return(Localize(one, localizable)); } if (0 != value || showZero) { yield return(localizable.Prepare(value)); } }
private string Localize(long value, Localizable localizable) { var result = numbers[value]; result = localizable.Patcher(value, result); return(result); }