Return Type | Function name | Arguments |
---|---|---|
const char* | FormalNumber | (int,unsigned int,) |
Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp
Function Logic:
Function body:
const char* FormalNumber (int nValue, unsigned int nMaxlen) { _hzfunc("FormalNumber(i32)") ; char* i ; char* pBuf ; uint32_t B ; uint32_t M ; uint32_t T ; uint32_t U ; i = pBuf = _thisfn.ScratchPad(16); if (nValue < 0) { *i++ = CHAR_MINUS ; nValue *= -1; } B = (nValue / 1000000000); M = (nValue % 1000000000)/1000000; T = (nValue % 1000000)/1000; U = (nValue % 1000); if (nMaxlen > 0) { if (nMaxlen > 16) nMaxlen = 16; if (i[0]== CHAR_MINUS) nMaxlen-- ; 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 (B) sprintf(i, "%d,%03d,%03d,%03d", B, M, T, U) ; else if (M) sprintf(i, "%d,%03d,%03d", M, T, U) ; else if (T) sprintf(i, "%d,%03d", T, U) ; else sprintf(i, "%d", U) ; return pBuf ; }