Return Type | Function name | Arguments |
---|---|---|
const char* | FormalNumber | (unsigned long,unsigned int,) |
Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp
Function Logic:
Function body:
const char* FormalNumber (unsigned long nValue, unsigned int nMaxlen) { _hzfunc("FormalNumber(u64)") ; char* i ; char* pBuf ; uint32_t a ; uint32_t b ; uint32_t c ; uint32_t B ; uint32_t M ; uint32_t T ; uint32_t U ; i = pBuf = _thisfn.ScratchPad(32); if (nValue < 0) { *i++ = CHAR_MINUS ; nValue *= -1; } a = (uint32_t) ((nValue / 1000000000000000000))&0xffff; b = (uint32_t) ((nValue % 1000000000000000000)/1000000000000000)&0xffff; c = (uint32_t) ((nValue % 1000000000000000)/1000000000000)&0xffff; B = (uint32_t) ((nValue % 1000000000000)/1000000000)&0xffff; M = (uint32_t) ((nValue % 1000000000)/1000000)&0xffff; T = (uint32_t) ((nValue % 1000000)/1000)&0xffff; U = (uint32_t) ((nValue % 1000))&0xffff; if (nMaxlen > 0) { if (nMaxlen > 27) nMaxlen = 27; if (i[0]== CHAR_MINUS) nMaxlen-- ; if (a > 9) nMaxlen -= 26; else if (a) nMaxlen -= 25; else if (b > 99)nMaxlen -= 23; else if (b > 9) nMaxlen -= 22; else if (b) nMaxlen -= 21; else if (c > 99)nMaxlen -= 19; else if (c > 9) nMaxlen -= 18; else if (c) nMaxlen -= 17; else if (B > 99)nMaxlen -= 15; else if (B > 9) nMaxlen -= 14; else if (B) nMaxlen -= 13; else if (M > 99)nMaxlen -= 11; else if (M > 9) nMaxlen -= 10; else if (M) nMaxlen -= 9; else if (T > 99)nMaxlen -= 7; else if (T > 9) nMaxlen -= 6; else if (T) nMaxlen -= 5; else if (U > 99)nMaxlen -= 3; else if (U > 9) nMaxlen -= 2; else nMaxlen-- ; for (; nMaxlen > 0; nMaxlen--) *i++ = CHAR_SPACE ; } if (a) sprintf(i, "%u,%03u,%03u,%03u,%03u,%03u,%03u", a, b, c, B, M, T, U) ; else if (b) sprintf(i, "%u,%03u,%03u,%03u,%03u,%03u", b, c, B, M, T, U) ; else if (c) sprintf(i, "%u,%03u,%03u,%03u,%03u", c, B, M, T, U) ; else if (B) sprintf(i, "%u,%03u,%03u,%03u", B, M, T, U) ; else if (M) sprintf(i, "%u,%03u,%03u", M, T, U) ; else if (T) sprintf(i, "%u,%03u", T, U) ; else sprintf(i, "%u", U) ; return pBuf ; }