Hi everybody, Try the following python statements:
>>> "%.40f" % 0.2222222222222222222222222222222 '0.2222222222222222098864108374982606619596' >>> float( 0.2222222222222222222222222222222) 0.22222222222222221 It seems the first result is the same than the following C program: ################ #include <stdio.h> int main(void) { double a = 0.2222222222222222222222222222222; printf( "%.40f\n", a ); return 0; } ################# My problem is the following: * the precision "40" (for example) is given by the user, not by the programmer. * I want to use the string conversion facility with specifier "e", that yields number is scientific format; so I cannot apply float() on the result of "%.40e" % 0.2222222222222222222222222222222, I would lost the scientific format. Is there any means to obtain the full C double in Python, or should I limit the precision given by the user (and used in "%.*e") to the one of a Python float? Thanks in advance Julien -- python -c "print ''.join([chr(154 - ord(c)) for c in '*9(9&(18%.\ 9&1+,\'Z4(55l4('])" "When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong." (first law of AC Clarke) -- http://mail.python.org/mailman/listinfo/python-list