ConvertUtil.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. namespace YBEE.EQM.Core;
  2. public static class ConvertUtil
  3. {
  4. public static string ConvertToChinese(int num)
  5. {
  6. if (num == 0)
  7. {
  8. return "零";
  9. }
  10. string[] units = new string[] { "", "十", "百", "千", "万", "亿", "十亿", "百亿", "千亿", "兆" };
  11. string[] digits = new string[] { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
  12. bool isNegative = false;
  13. if (num < 0)
  14. {
  15. isNegative = true;
  16. num *= -1;
  17. }
  18. string result = "";
  19. while (num > 0)
  20. {
  21. int digit = num % 10;
  22. if (!isZeroDigit(digit))
  23. {
  24. result = digits[digit] + units[result.Length / 4] + result;
  25. }
  26. num /= 10;
  27. }
  28. if (isNegative)
  29. {
  30. result += "负";
  31. }
  32. return result;
  33. bool isZeroDigit(int digit)
  34. {
  35. return digit == 0 || digit == 1 && string.IsNullOrEmpty(digits[digit]);
  36. }
  37. }
  38. }