Return TypeFunction nameArguments
const char*FormalMoney(int,)

Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp

Function Logic:

0:START 1:_hz_func_reg::ScratchPad pBuf i i 2:nValue<0 3:i nValue 4:M T U C 5:M>9 6:pad 7:M 8:pad 9:T>99 10:pad 11:T>9 12:pad 13:T 14:pad 15:U>99 16:pad 17:U>9 18:pad 19:pad 20:pad>0; 21:* 22:M 23:sprintf 24:T 25:sprintf 26:U 27:sprintf 28:sprintf 29:Return pBuf

Function body:

const char* FormalMoney (int nValue)
{
   _hzfunc("FormalMoney") ;
   char*       i ;
   char*       pBuf ;
   uint32_t    M ;
   uint32_t    T ;
   uint32_t    U ;
   uint32_t    C ;
   uint32_t    pad ;
   i = pBuf = _thisfn.ScratchPad(16);
   i[0]= CHAR_SPACE ;
   if (nValue < 0)
   {
       i[0]= CHAR_MINUS ;
       nValue *= -1;
   }
   M = (nValue / 100000000);
   T = (nValue % 100000000)/100000;
   U = (nValue % 100000)/100;
   C = (nValue % 100);
   if      (M > 9)     pad = 0;
   else if (M)         pad = 1;
   else if (T > 99)pad = 3;
   else if (T > 9)     pad = 4;
   else if (T)         pad = 5;
   else if (U > 99)pad = 7;
   else if (U > 9)     pad = 8;
   else
       pad = 9;
   for (i++ ; pad > 0; pad--)
       *i++ = CHAR_SPACE ;
   if      (M) sprintf(i, "%d,%03d,%03d.%02d", M, T, U, C) ;
   else if (T) sprintf(i, "%d,%03d.%02d", T, U, C) ;
   else if (U) sprintf(i, "%d.%02d", U, C) ;
   else        sprintf(i, "0.%02d", C) ;
   return pBuf ;
}