955ee6477f
Prior to this patch, some architectures (eg unix x86) could render floats with "negative" digits, like ")". For example, '%.23e' % 1e-80 would come out as "1.0000000000000000/)/(,*0e-80". This patch fixes the known cases.
20 lines
607 B
Python
20 lines
607 B
Python
# test float formatting
|
|
|
|
# general rounding
|
|
for val in (116, 1111, 1234, 5010, 11111):
|
|
print('%.0f' % val)
|
|
print('%.1f' % val)
|
|
print('%.3f' % val)
|
|
|
|
# make sure rounding is done at the correct precision
|
|
for prec in range(8):
|
|
print(('%%.%df' % prec) % 6e-5)
|
|
|
|
# check certain cases that had a digit value of 10 render as a ":" character
|
|
print('%.2e' % float('9' * 51 + 'e-39'))
|
|
print('%.2e' % float('9' * 40 + 'e-21'))
|
|
|
|
# check a case that would render negative digit values, eg ")" characters
|
|
# the string is converted back to a float to check for no illegal characters
|
|
float('%.23e' % 1e-80)
|