常用方法杂记

本文内容不是解决问题,而是记录一些常用的方法,代码用的是TS语言。

第一个:保留几位小数,传入数字和精确度,传出新数字

/**
 * @param num 原数字
 * @param precision 精确度(10^n代表保留n位小数,例如,precision = 100代表保留2位小数)
 */
public static NumberFix(num: number, precision: number): number {
   return Math.floor(num * precision) / precision;
}

第二个:计算字符串长度,输入字符串,返回长度

public static GetStringLength(text: string): number {
    let count: number = 0;
    // stringObject.split传入空字符串 (""),则每个字符之间都会被分割
    let newStr: string[] = text.split("");
    for (let i:number = 0; i < newStr.length; i++) {
        if (newStr[i].charCodeAt(0) < 299) {
            // 普通字符
            count++;
        }else {
            // 汉字
            count += 2;
        }
    }
    return count;
}

第三个:判断此值在不在数组中,传入值和数组,传出判断结果

public static IsParmInList(parm1: any, list: any[]): boolean {
    let isIn:boolean = false;
    if (!Array.isArray(parm1) && list != null && Array.isArray(list) && list.length > 0) {
        for (let i:number = 0;i < list.length; i++) {
            if (parm1 === list[i]) {
                isIn = true;
                break;
            }
        }
    }
    return isIn;
}

第四个:CocosCreator数据存储

public static GetLocalStorageData(key: string): string {
    return cc.sys.localStorage.getItem(key);
}
public static SetLocalStorageData(key: string, value: string): void {
    cc.sys.localStorage.setItem(key, value);
}

第五个:替换文字中的占位符,替换2个,传入(字符串/占位符1/占位符2/替换字符串1/替换字符串2),传出新字符串

public static getReplaceString2(originStr: string, placeholder1: string, placeholder2: string, replaceStr1: string, replaceStr2: string) : string{
    let str: string = originStr;
    str = str.replace(placeholder1, replaceStr1);
    str = str.replace(placeholder2, replaceStr2);
    return str;
};

第五个:时间戳(秒级)转换为年月日时分秒,格式:(2020.02.02 02:02:02)

public static FormatTimeStamp(timeStamp: number): string {
    let date: Date = new Date(timeStamp * 1000);
    let year: number = date.getFullYear();
    let month: number = date.getMonth() + 1;
    let day: number = date.getDay();
    let hour: number = date.getHours();
    let minute: number = date.getMinutes();
    let second: number = date.getSeconds();
    
    let str: string = "";
    str += year + ".";
    str += (month < 10) ? ("0" + month + ".") : (month + ".");
    str += (day < 10) ? ("0" + day + "   ") : (day + "   ");
    str += (hour < 10) ? ("0" + hour + ":") : (hour + ":");
    str += (minute < 10) ? ("0" + minute + ":") : (minute + ":");
    str += (second < 10) ? ("0" + second) : second;
    return str;
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。