NumToLettersBase.cs 961 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace FastReport.Functions
  6. {
  7. internal abstract class NumToLettersBase
  8. {
  9. #region Protected Methods
  10. protected string Str(int value, char[] letters)
  11. {
  12. if (value < 0) return "";
  13. int n = value;
  14. StringBuilder r = new StringBuilder();
  15. //if (minus)
  16. // r.Insert(0, GetMinus() + " ");
  17. int letter;
  18. while (n >= letters.Length)
  19. {
  20. letter = n % letters.Length;
  21. r.Insert(0, letters[letter]);
  22. n /= letters.Length;
  23. if (n < letters.Length) --n;
  24. }
  25. r.Insert(0, letters[n]);
  26. return r.ToString();
  27. }
  28. #endregion
  29. #region Public Methods
  30. public abstract string ConvertNumber(int value, bool isUpper);
  31. #endregion
  32. }
  33. }