Forum
>>
Principianti
>>
Avere massimo due numeri decimali dopo la virgola?
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da daioni |
2015-02-13 02:38:58 - Avere massimo due numeri decimali dopo la virgola?
|
Messaggio annotato da
Daniele aka Palmux
:
Questa discussione è stata spostata dalla categoria Blog. Ciao a tutti è possibile creare una definizione globale per avere massimo due numeri decimali dopo la virgola? (Su tante espressioni che seguono)
Grazie in anticipo |
|
Scritto da Daniele aka Palmux |
2015-02-13 09:53:22 - Re: Avere massimo due numeri decimali dopo la virgola?
|
Ciao, la tua domanda è da forum e non da blog, quindi l'ho spostata qui.
Prima di tutto cosa intendi per definizione globale? Hai alcuni metodi diversi per decidere il numero di decimali, il modo più semplice che mi viene in mente è usare .format che ti aiuta sicuramente ed è uno strumento molto potente, ma anche usare decimal. Format >>> num = "{0:.2f}".format(2.2564848948515165418484) '2.26' Modulo decimal >>> import decimal >>> getcontext().prec = 2 >>> decimal.Decimal(1) / decimal.Decimal(7) Decimal('0.14')Ciao. Daniele |
|
Scritto da daioni |
2015-02-13 13:51:26 - Re: Avere massimo due numeri decimali dopo la virgola?
|
Intanto grazie ma mi da questo errore:
print "{0:.2f}".format(TF) ValueError: Unknown format code 'f' for object of type 'str' |
|
Scritto da Daniele aka Palmux |
2015-02-13 17:00:24 - Re: Avere massimo due numeri decimali dopo la virgola?
|
Stai cercando di gestire dei decimali per una stringa? Posta il codice così capisco...
Cya |
|
Scritto da daioni |
2015-02-13 20:57:32 - Re: Avere massimo due numeri decimali dopo la virgola?
|
T=V(((VE*3)+(VN1gT*Ng*Np)+(VO_VN)+(ca*3*(Ng-1))+(180*Ng)+((km*0.50)/2)+((((kmC*0.50)-vv.F_BE))+(km1*0.50)+(km2*0.50)+(km3*0.50)))),\
(Nlu*sqrt(Ng))+((km*0.50)/2)+SF+vv.BA+AC+Nv+Na+AU+vv.F_BE print "Totale", T |
|
Scritto da Daniele aka Palmux |
2015-02-13 22:53:19 - Re: Avere massimo due numeri decimali dopo la virgola?
|
Mi sono quasi pentito di avertelo chiesto..
Credo che manchino un bel po' di cose nel tuo esempio, mi è impossibile provarlo. Comunque dando per assodato che il risultato sia un numero con n decimali, direi che lo puoi trattare con estrema tranquillità con .format(). print "Totale {0:.2f)".format(float(T))Ti piace così? Cya --- Ultima modifica di Daniele aka Palmux in data 2015-02-13 22:54:46 --- |
|
Scritto da daioni |
2015-02-16 23:52:27 - Re: Avere massimo due numeri decimali dopo la virgola?
|
ho esitato a mandarlo ... comunque mi da questo errore:
TypeError: float() argument must be a string or a number |
|
Scritto da Daniele aka Palmux |
2015-02-17 00:33:49 - Re: Avere massimo due numeri decimali dopo la virgola?
|
Non preoccuparti, non provando il tuo codice si va a tentativi e quindi non esitare.
Credo che un bel type() ti aiuterà a capire che cosa ti esce dalla tua operazione. Da li puoi capire che cosa fare con l'oggetto che ti viene restituito. Cya |
|
Scritto da amicomiop |
2018-09-29 09:13:32 - Re: Avere massimo due numeri decimali dopo la virgola?
|
--- Ultima modifica di amicomiop in data 2018-09-29 09:14:40 ---
--- Ultima modifica di amicomiop in data 2018-09-29 09:25:20 --- |
Pagina: 1
Esegui il login per scrivere una risposta.