Maisles operations de base marchent raisonnablement (A part bcdneg).
Tu peux toujours recoder les fonctions en C, puis apres tu me les files pour que je les mettes dans PedroM

e Floating point, format [-]d.dddde[sign]ddd (exponential format)
E Like 'e' but with uppercase letter for the exponent
f Floating point, format [-]dddd.dddd
g Floating point: most compact float format available ('e' or 'f'); this is the most common option, used for most dialog floats
G Like 'g' but with uppercase letter for the exponent
r Floating point, engineering form (this option is non-ANSI, i.e. TI specific)
R Like 'r' but with uppercase letter for the exponent
Flags Meaning
none Right align (pad spaces or zeros to left)
- Left align (pad spaces to right)
+ Always force sign (include prefix '+' before positive values)
z Don't postfix padding (this option is non-ANSI, i.e. TI specific)
space Insert space before positive values
# Prefix octal values with 0 and hex values (>0) with '0x')
Force '.' in float output (and prevent trunctation of trailing zeros)
^ TI-Float format: special character for the exponent and for the minus sign, no '+' prefix in the exponent, 0. instead of 0, no leading zeros if the magnitude is smaller than 1 (this option is non-ANSI, i.e. TI specific)
| Center the output in the field (this option is non-ANSI, i.e. TI specific)
Width Meaning
num Print at least num characters - padded the rest with blanks
0num (Zero prefixed) Same as above but padded with '0'
* The width is specified in the arguments list (before value being formatted)
Precision Meaning
none Default precision
num num is number of chars, decimal places, or number of significant digits (num<=16) to display depending on type (see below)
-1 Default = 6 digits (this option is non-ANSI, i.e. TI specific) * The precision is specified in the argument list (before value being formatted)
if (my_union.type==INTEGER) printf("%d",my_union.intg); else printf("%e",my_union.flt);