Beispiel #1
0
void fix32ToStr(fix32 value, char *str, s16 numdec)
{
    u32 len;
    fix32 v;
    u32 frac;
    u8 strFrac[8];

    len = 0;
    if (value < 0)
    {
        v = -value;
        str[len++] = '-';
    }
    else v = value;

    len += uintToStr_(fix32ToInt(v), &str[len], 1, 16);
    str[len++] = '.';

    // get fractional part
    frac = fix32Frac(v) * 1000;
    frac /= 1 << FIX32_FRAC_BITS;

    // get fractional string
    uintToStr(frac, strFrac, 3);

    if (numdec >= 3) strcpy(&str[len], strFrac);
    else strncpy(&str[len], strFrac, numdec);
}
Beispiel #2
0
void fix32ToStr(fix32 value, char *str, s16 numdec)
{
    u32 len;
    fix32 v;

    len = 0;
    if (value < 0)
    {
        v = -value;
        str[len++] = '-';
    }
    else v = value;

    len += uintToStr_(fix32ToInt(v), &str[len], 1, 16);
    str[len++] = '.';
    uintToStr_((fix32Frac(v) * 1000) / (1 << FIX32_FRAC_BITS), &str[len], 1, numdec);
}