Hi All, I want to print scientific numbers with a specified number of decimal places. However, I want the number printed to be dynamically determined by the data. Example:
> a = 0.00762921383941 > ea = 0.000830132912068 > a / ea 9.190352205653852 By default, I will print the uncertainty ("ea") with two significant digits. In this example, the central value is about 10 times larger than the uncertainty, so I want to print it with 3 significant figures. So I want to do something like > p = int(("%.1e" % (a / ea)).split('e')[-1]) # grab the power in the > scientific notation (is there a better way?) > if p >= 0: > print('%.' + str(int(2+p)) +'e +- %.1e' % (a, ea)) > else: print('%.2e +- %.1e' % (a, ea)) (desired output): 7.63e-03 +- 8.3e-04 but this fails. And I haven't figured out how to get this to work. Seems like it should be simple. Any help? Thanks, Andre _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor