c++ long类型转char

发布时间 2023-09-21 14:44:52作者: laremehpe
int NumberAt(long num, int unit) {
    while (unit-- > 0) num /= 10;
    return num % 10;
}

int NumberLength(long num) {
    int len = 1, sum = 10;
    while (num >= sum) {
        sum *= 10;
        len++;
    }
    return len;
}

char* numToChar(long num) {
    int len = NumberLength(num), flag = 1;
    if (num < 0) {
        num *= -1;
        flag = 0;
    }

    char* chars = (char*)malloc(len);
    char alph[10] = { '0','1','2','3','4','5','6','7','8','9'};
    if (chars == NULL)return;

    for (int i = 0; i < len; i++)
    {
        *(chars+i) = alph[NumberAt(num, i)];
    }

    return chars;
}