StringUtil.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. export class StringUtil {
  2. /**小数转成保留几位小数的字符串*/
  3. public static ToFixed(s:number,count:number):string{
  4. return s.toFixed(count).toString();
  5. }
  6. /**秒转成 00:00时间格式*/
  7. public static ToTimeString(s:number):string{
  8. s = Math.floor(s);
  9. let m = Math.floor(s/60);
  10. s=s-m*60;
  11. let mm=m.toString();
  12. if(mm.length<=1){
  13. mm = "0".concat(mm);
  14. }
  15. if(s<10){
  16. return `${mm}:${"0".concat(s.toString())}`;
  17. }
  18. return `${mm}:${s}`;
  19. }
  20. /**秒*/
  21. public static ToSce(s:number,u:string="s"):string{
  22. s = Math.floor(s);
  23. return `${s}${u}`;
  24. }
  25. /**货币值转字符 */
  26. public static ToMoneyString(n:number):string{
  27. if(n>1000000){
  28. let m=Math.floor(n*0.000001);
  29. n-=m*1000000;
  30. if(n>1000){
  31. return `${m}M${Math.floor(n*0.001)}K`;
  32. }
  33. return `${m}M`;
  34. }else if(n>1000){
  35. let m=Math.floor(n*0.001);
  36. n-=m*1000;
  37. if(n>100){
  38. n=Math.floor(n*0.01);
  39. return `${m}K${n}`;
  40. }
  41. return `${m}K`;
  42. }
  43. return n.toString();
  44. }
  45. /**毫秒转秒显示*/
  46. public static MS2S(ms:number):string{
  47. return (ms*0.001).toFixed(1);
  48. }
  49. /**
  50. * 去掉前后空格
  51. * @param str
  52. * @returns {string}
  53. */
  54. public trimSpace(str: string): string {
  55. return str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
  56. }
  57. /**
  58. * 获取字符串长度,中文为2
  59. * @param str
  60. */
  61. public getStringLength(str: string): number {
  62. var strArr = str.split("");
  63. var length = 0;
  64. for (var i = 0; i < strArr.length; i++) {
  65. var s = strArr[i];
  66. if (this.isChinese(s)) {
  67. length += 2;
  68. } else {
  69. length += 1;
  70. }
  71. }
  72. return length;
  73. }
  74. /**
  75. * 判断一个字符串是否包含中文
  76. * @param str
  77. * @returns {boolean}
  78. */
  79. public isChinese(str: string): boolean {
  80. var reg = /^.*[\u4E00-\u9FA5]+.*$/;
  81. return reg.test(str);
  82. }
  83. /**
  84. * 格式化字符串 "{0},{1}.format("text0","text1")
  85. */
  86. public format(val: string, ...param: any[]): string {
  87. for (let i = 0, len = param.length; i < len; i++) {
  88. let reg = new RegExp("({)" + i + "(})", "g");
  89. val = val.replace(reg, param[i]);
  90. }
  91. return val;
  92. }
  93. }