NumberUtil.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using UnityEngine;
  2. namespace GFGGame
  3. {
  4. public class NumberUtil
  5. {
  6. public static string GetChiniseNumberText(int num)
  7. {
  8. int numInUnit = 0;
  9. int numInTen = 0;
  10. string strInUnit = "";
  11. string strInTen = "";
  12. if (num == 0)
  13. {
  14. return "零";
  15. }
  16. if (num <= 10)
  17. {
  18. return GameConst.CHINESE_NUMBER[num - 1];
  19. }
  20. else if (num < 20)
  21. {
  22. numInUnit = num - 10;
  23. strInUnit = GameConst.CHINESE_NUMBER[numInUnit - 1];
  24. return "十" + strInUnit;
  25. }
  26. else if (num < 100)
  27. {
  28. numInTen = Mathf.FloorToInt(num / 10);
  29. strInTen = GameConst.CHINESE_NUMBER[numInTen - 1];
  30. numInUnit = num % 10;
  31. if (numInUnit == 0)
  32. {
  33. return strInTen + "十";
  34. }
  35. else
  36. {
  37. strInUnit = GameConst.CHINESE_NUMBER[numInUnit - 1];
  38. return strInTen + "十" + strInUnit;
  39. }
  40. }
  41. return "未知";
  42. }
  43. public static string GetOldChiniseNumberText(int num)
  44. {
  45. int numInUnit = 0;
  46. int numInTen = 0;
  47. string strInUnit = "";
  48. string strInTen = "";
  49. if (num == 0)
  50. {
  51. return "零";
  52. }
  53. if (num <= 10)
  54. {
  55. return GameConst.CHINESE_NUMBER_OLD[num - 1];
  56. }
  57. else if (num < 20)
  58. {
  59. numInUnit = num - 10;
  60. strInUnit = GameConst.CHINESE_NUMBER_OLD[numInUnit - 1];
  61. return "拾" + strInUnit;
  62. }
  63. else if (num < 100)
  64. {
  65. numInTen = Mathf.FloorToInt(num / 10);
  66. strInTen = GameConst.CHINESE_NUMBER_OLD[numInTen - 1];
  67. numInUnit = num % 10;
  68. if (numInUnit == 0)
  69. {
  70. return strInTen + "拾";
  71. }
  72. else
  73. {
  74. strInUnit = GameConst.CHINESE_NUMBER_OLD[numInUnit - 1];
  75. return strInTen + "拾" + strInUnit;
  76. }
  77. }
  78. return "未知";
  79. }
  80. public static string GetChiniseNumberWeekText(int num)
  81. {
  82. if (num >= 0 && num < GameConst.CHINESE_NUMBER.Length)
  83. {
  84. return GameConst.CHINESE_WEEK_NUMBER[num];
  85. }
  86. return "未知";
  87. }
  88. public static string ChangeNumberUnit(int num, int unit = 10000)
  89. {
  90. int count = num / unit;
  91. if (count > 0)
  92. {
  93. return string.Format("{0}万", count);
  94. }
  95. return num.ToString();
  96. }
  97. }
  98. }