Il Sun, 18 Oct 2009 20:04:11 -0200, Gabriel Genellina ha scritto: > En Sun, 18 Oct 2009 10:35:34 -0200, mattia <ger...@gmail.com> escribió: > >> Il Sat, 17 Oct 2009 10:02:27 -0400, Dave Angel ha scritto: >>> mattia wrote: >>>> Il Fri, 16 Oct 2009 21:04:08 +0000, mattia ha scritto: >>>> >>>> Another question (always py3). How can I print only the first number >>>> after the comma of a division? >>>> e.g. print(8/3) --> 2.66666666667 >>>> I just want 2.6 (or 2.66) >>>> >>> x = 8/3 >>> dummy0=dummy1=dummy2=42 >>> s = "The answer is approx. {3:07.2f} after rounding".format(dummy0, >>> dummy1, dummy2, x) >>> print(s) >>> >>> will print out the following: >>> >>> The answer is approx. 0002.67 after rounding >> >> Yes, reading the doc I've come up with s = "%(0)03.02f%(1)s done" % >> {"0": 100.0-100.0*(size/tot), "1": "%"} but to it is not a good idea to >> use a dict here.. > > No need for a dict, you could use instead: > > s = "%03.02f%s done" % (100.0-100.0*(size/tot), "%") > > or (%% is the way to embed a single %): > > s = "%03.02f%% done" % (100.0-100.0*(size/tot),) > > or even: > > s = "%03.02f%% done" % (100.0-100.0*(size/tot)) > > but the new str.format() originally suggested by Dave Angel is better: > > s = "{0:03.02f}% done".format(100.0-100.0*(size/tot)) > > (BTW, why 03.02f? The output will always have at least 4 chars, so 03 > doesn't mean anything... Maybe you want {0:06.2f} (three places before > the decimal point, two after it, filled with 0's on the left)?)
No need of 03, you are right, thanks. -- http://mail.python.org/mailman/listinfo/python-list