Topic: Arrotondare un numero  (Letto 11545 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline giovilomby

  • python unicellularis
  • *
  • Post: 13
  • Punti reputazione: 0
    • Mostra profilo
Arrotondare un numero
« il: Agosto 29, 2007, 14:57 »
Ciao!se io ho un numero float,come posso arrotondarlo?c'è qualke funzione??

Offline Markon

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 4.104
  • Punti reputazione: 5
    • Mostra profilo
    • Neolithic
Re: Arrotondare un numero
« Risposta #1 il: Agosto 29, 2007, 15:00 »
Ciao :D

Sì, esiste un modulo : fpformat

http://www.python.it/doc/Python-Docs/html/lib/module-fpformat.html

In sostanza si usa nel seguente modo:

fix(num, CifreDopoVirgola)

fix(12.12345, 2) -> "12.12"

Ciao ;)

Offline giovilomby

  • python unicellularis
  • *
  • Post: 13
  • Punti reputazione: 0
    • Mostra profilo
Re: Arrotondare un numero
« Risposta #2 il: Agosto 29, 2007, 15:08 »
scusa,non avevo precisato ben...a me servirebbe da usare sul cell e purtroppo questa libreria nn c'è?
c'è qualcos'altro?di alternativo??

grazie!

Offline Markon

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 4.104
  • Punti reputazione: 5
    • Mostra profilo
    • Neolithic
Re: Arrotondare un numero
« Risposta #3 il: Agosto 29, 2007, 15:14 »
Ok, allora sposto nella sezione Python Mobile ;)

Purtroppo non ne conosco nessuna...

Sbaglio o python per i cellulari si chiama Python s60 ?

Offline giovilomby

  • python unicellularis
  • *
  • Post: 13
  • Punti reputazione: 0
    • Mostra profilo
Re: Arrotondare un numero
« Risposta #4 il: Agosto 29, 2007, 15:21 »
si o anke pys60....magari puoi lascirlo ancora qui,ke ha piu visibilita??

grazie!

Offline manzo

  • python neanderthalensis
  • *
  • moderatore
  • Post: 478
  • Punti reputazione: 1
    • Mostra profilo
Re: Arrotondare un numero
« Risposta #5 il: Agosto 29, 2007, 15:35 »
Ciao!se io ho un numero float,come posso arrotondarlo?c'è qualke funzione??


sì, la funzione round():


round( x[, n])

Return the floating point value x rounded to n digits after the decimal point. If n is omitted, it defaults to zero. The result is a floating point number. Values are rounded to the closest multiple of 10 to the power minus n; if two multiples are equally close, rounding is done away from 0 (so. for example, round(0.5) is 1.0 and round(-0.5) is -1.0).


>>> pi=3.1415926535
>>> round(pi,2)
3.1400000000000001

se invece vuoi convertire in int arrotondando, puoi fare

intero=int(float+0.5)

per finire, a volte conviene arrotondare solo in fase di output, e quindi puoi usare l'operatore di formattazione '%f' :)

>>> pi=3.1415926535
>>> print "%1.3f" % pi
3.142

Offline Markon

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 4.104
  • Punti reputazione: 5
    • Mostra profilo
    • Neolithic
Re: Arrotondare un numero
« Risposta #6 il: Agosto 29, 2007, 20:02 »
Puoi usare anche un altro sistema:

num= 12.1234567890
stringa= str(num)
print stringa[0:6]

Non si tratta di arrotondamento vero e proprio, ma solo di stampare l'output.
Se volessi arrotondare dovresti dichiarare un'altra variabile ancora:

st = stringa[0:6]
print st

;)