| 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 ;
}