Δημοσιεύτηκε: 03 Αύγ 2009, 22:24
από sokoban4ever
@Luke
Μάλιστα sorry :oops:
:think: Όλοι οι αριθμοί που περνάς στην format είναι τύπου float ( κινητής υποδιαστολής)
Δεν υπάρχει type number (καλό είναι να συνηθίσεις πιο σωστά τα πράματα ώστε να υπάρχει κώδικας επικοινωνίας) υπάρχει όμως float , int κλπ
αν μιλάς για κάτι που δεν είναι string δεν υπάρχει πρόβλημα δες τα link που σου έδωσα σε καλύπτουν και δες και αυτό
http://www.python.org/dev/peps/pep-0378/

πάντως για να μην σε κουράζω πολύ
απλά πρέπει να ορίσεις ρητά ότι είναι float number απλά τοποθετώντας ένα f για τύπο (type) μετά το replacement field του precision
όπως ακριβώς λέει εδώ http://docs.python.org/library/string.h ... i-language
δηλαδή
Κώδικας: Επιλογή όλων
>>> x=13.12345678
>>> type(x)
<class 'float'>
'{0:.1f}'.format(x)
'13.1'
>>> '{0:.2f}'.format(x)
'13.12'
>>> '{0:.3f}'.format(x)
'13.123'
>>> '{0:.4f}'.format(x)
'13.1235'
>>> '{0:.5f}'.format(x)
'13.12346'


και άμα βάλεις g απλά θα μετράει το σύνολο των αριθμών χωρίς την τελεία
δηλαδή
Κώδικας: Επιλογή όλων
'{0:.1g}'.format(x)
'1e+01' # 10 δηλαδή
>>> '{0:.2g}'.format(x)
'13'
>>> '{0:.3g}'.format(x)
'13.1'
>>> '{0:.4g}'.format(x)
'13.12'
>>> '{0:.5g}'.format(x)
'13.123'


τώρα νομίζω πως σε κάλυψα ;)
άλλη απορία κανείς :D