Sto provando a generare una stringa che comporta un galleggiante occasionale con zeri finali. Si tratta di una MWE della stringa di testo e il mio tentativo di rimuoverli con {0:g}
:.format() restituisce ValueError quando si utilizza {0: g} per rimuovere gli zero finali
xn, cod = 'r', 'abc'
ccl = [546.3500, 6785.35416]
ect = [12.350, 13.643241]
text = '${}_{{t}} = {0:g} \pm {0:g}\;{}$'.format(xn, ccl[0], ect[0], cod)
print text
Purtroppo questo ritorna:
ValueError: cannot switch from automatic field numbering to manual field specification
Questa domanda Using .format() to format a list with field width arguments riportato sulla stessa questione, ma io non riesco a capire come applicare la risposta data lì a questo problema.
Non sono sicuro di aver capito cosa si sta cercando di ottenere con 'g'. Gli zeri finali in un valore letterale float non significano nulla, quindi '546.3500' è esattamente lo stesso numero di' 546.35' (e verranno stampati entrambi allo stesso modo, sia che lo si voglia o no). – Blckknght
@Blckknght prova 'print '{0} {0: g}'. Format (50.0)'. Non stampano lo stesso. – Gabriel
Mentre leggevo di nuovo la domanda, forse volevi '{: 0g}' piuttosto che '{0: g}'? Non sono sicuro che il primo sia molto utile, ma è valido. – Blckknght