 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Flex Guest
|
Posted: Mon Oct 24, 2005 4:35 pm Post subject: Arrotondare un double facendolo rimanere tale |
|
|
sapreste indicarmi come si arrotonda e un double ad esempio alla seconda
cifra decimale.
Mi interessa che il tipo risultante sia sempre un double, quindi non
credo di poter usare Numberformat.
Esempio se il numero è 54,54545454 vorrei avere un double che vale 54,54
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
ma prima o poi finisce con l'imparare qualcosa
|
|
| Back to top |
|
 |
cicap Guest
|
Posted: Mon Oct 24, 2005 4:55 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
"Flex" <flexNONSPAMM (AT) REprogrammareweb (DOT) com> ha scritto nel messaggio
news:pan.2005.10.24.16.35.24.771573 (AT) REprogrammareweb (DOT) com...
| Quote: | sapreste indicarmi come si arrotonda e un double ad esempio alla seconda
cifra decimale.
Mi interessa che il tipo risultante sia sempre un double, quindi non
credo di poter usare Numberformat.
Esempio se il numero è 54,54545454 vorrei avere un double che vale 54,54
|
Vorrai dire che vale 54,54000000...
Forse e' meglio se ci dici il motivo di quello che vuoi fare perche' temo
che tu sia sulla strada sbagliata.
|
|
| Back to top |
|
 |
cicap Guest
|
Posted: Mon Oct 24, 2005 5:30 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
"Flex" <flexNONSPAMM (AT) REprogrammareweb (DOT) com> ha scritto nel messaggio
news:pan.2005.10.24.17.34.02.270711 (AT) REprogrammareweb (DOT) com...
| Quote: | Il Mon, 24 Oct 2005 18:55:27 +0200, cicap ha scritto:
Vorrai dire che vale 54,54000000...
Esatto
Forse e' meglio se ci dici il motivo di quello che vuoi fare perche'
temo che tu sia sulla strada sbagliata.
sto eseguendo un calcolo tipo :
double speed = (vel * 1000) / 3600 / spazio ;
dato uno spazio in Km e una velocità Km/h
devo trovare la velocita' di animazione in pixel/secondo
per far muovere il punto sullo schermo.
Mi interessa avere un valore approssimato alla seconda cifra decimale
|
Si ok, ma ti interessa averlo approssimato per farci cosa?
Per visualizzarlo no?
E allora va benissimo se lo formatti ritornando una stringa.
|
|
| Back to top |
|
 |
Flex Guest
|
Posted: Mon Oct 24, 2005 5:34 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Il Mon, 24 Oct 2005 18:55:27 +0200, cicap ha scritto:
| Quote: | Vorrai dire che vale 54,54000000...
|
Esatto
| Quote: | Forse e' meglio se ci dici il motivo di quello che vuoi fare perche'
temo che tu sia sulla strada sbagliata.
|
sto eseguendo un calcolo tipo :
double speed = (vel * 1000) / 3600 / spazio ;
dato uno spazio in Km e una velocità Km/h
devo trovare la velocita' di animazione in pixel/secondo
per far muovere il punto sullo schermo.
Mi interessa avere un valore approssimato alla seconda cifra decimale
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
ma prima o poi finisce con l'imparare qualcosa
|
|
| Back to top |
|
 |
Flex Guest
|
Posted: Mon Oct 24, 2005 5:44 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Il Mon, 24 Oct 2005 19:30:30 +0200, cicap ha scritto:
| Quote: |
Si ok, ma ti interessa averlo approssimato per farci cosa?
Per visualizzarlo no?
|
No, per darlo in input ad un metodo che esegue altri calcoli
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
ma prima o poi finisce con l'imparare qualcosa
|
|
| Back to top |
|
 |
Roberto Bagnoli Guest
|
Posted: Mon Oct 24, 2005 5:48 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Flex wrote:
| Quote: | Il Mon, 24 Oct 2005 19:30:30 +0200, cicap ha scritto:
Si ok, ma ti interessa averlo approssimato per farci cosa?
Per visualizzarlo no?
No, per darlo in input ad un metodo che esegue altri calcoli
|
Non per farmi i c...i tuoi, ma se devi eseguire altri calcoli,
perche' perdere da subito delle cifre significative?
|
|
| Back to top |
|
 |
cicap Guest
|
Posted: Mon Oct 24, 2005 5:52 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
"Flex" <flexNONSPAMM (AT) REprogrammareweb (DOT) com> ha scritto nel messaggio
news:pan.2005.10.24.17.44.33.68326 (AT) REprogrammareweb (DOT) com...
| Quote: | Il Mon, 24 Oct 2005 19:30:30 +0200, cicap ha scritto:
Si ok, ma ti interessa averlo approssimato per farci cosa?
Per visualizzarlo no?
No, per darlo in input ad un metodo che esegue altri calcoli
Allora evita di arrontondare. Anzi usa un float invece così risparmi |
risorse.
|
|
| Back to top |
|
 |
Gringo Guest
|
Posted: Mon Oct 24, 2005 6:23 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
"Flex" <flexNONSPAMM (AT) REprogrammareweb (DOT) com> ha scritto nel messaggio
news:pan.2005.10.24.16.35.24.771573 (AT) REprogrammareweb (DOT) com...
| Quote: | sapreste indicarmi come si arrotonda e un double ad esempio alla seconda
cifra decimale.
Mi interessa che il tipo risultante sia sempre un double, quindi non
credo di poter usare Numberformat.
Esempio se il numero è 54,54545454 vorrei avere un double che vale 54,54
|
double a = 54,54545454...
int b = Math.round(a*100);
double c = b/100;
che dici funzionerà?
|
|
| Back to top |
|
 |
Vincent Vega Guest
|
Posted: Mon Oct 24, 2005 7:28 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Flex wrote:
| Quote: | sto eseguendo un calcolo tipo :
double speed = (vel * 1000) / 3600 / spazio ;
|
Usa BigDecimal.
|
|
| Back to top |
|
 |
cicap Guest
|
Posted: Mon Oct 24, 2005 9:18 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
"Flex" <flexNONSPAMM (AT) REprogrammareweb (DOT) com> ha scritto nel messaggio
news:pan.2005.10.24.21.20.58.164611 (AT) REprogrammareweb (DOT) com...
| Quote: | Il Mon, 24 Oct 2005 20:23:05 +0200, Gringo ha scritto:
Esempio se il numero è 54,54545454 vorrei avere un double che vale
54,54
double a = 54,54545454...
int b = Math.round(a*100);
double c = b/100;
che dici funzionerà?
Geniale, da mettere nelle FAQ
|
Nooo, stai perdendo tempo!
E' un'operazione completamente priva di significato.
|
|
| Back to top |
|
 |
Flex Guest
|
Posted: Mon Oct 24, 2005 9:19 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Il Mon, 24 Oct 2005 19:48:27 +0200, Roberto Bagnoli ha scritto:
| Quote: |
Non per farmi i c...i tuoi, ma se devi eseguire altri calcoli,
perche' perdere da subito delle cifre significative?
|
Boh, chi mi ha dato le specifiche,mi ha detto che sono richieste 2 cifre
di precisione, probabilmente se ce ne sono di + non guastano
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
ma prima o poi finisce con l'imparare qualcosa
|
|
| Back to top |
|
 |
Flex Guest
|
Posted: Mon Oct 24, 2005 9:20 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Il Mon, 24 Oct 2005 20:23:05 +0200, Gringo ha scritto:
| Quote: | Esempio se il numero è 54,54545454 vorrei avere un double che vale 54,54
double a = 54,54545454...
int b = Math.round(a*100);
double c = b/100;
che dici funzionerà?
|
Geniale, da mettere nelle FAQ
Grazie
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
ma prima o poi finisce con l'imparare qualcosa
|
|
| Back to top |
|
 |
Fabio B. Guest
|
Posted: Mon Oct 24, 2005 9:22 pm Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Flex wrote:
| Quote: | sapreste indicarmi come si arrotonda e un double ad esempio alla seconda
cifra decimale.
Mi interessa che il tipo risultante sia sempre un double, quindi non
credo di poter usare Numberformat.
Esempio se il numero è 54,54545454 vorrei avere un double che vale 54,54
|
Dai un po' un'occhiata qui:
[url]http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html#round(java.math.MathContext[/url])
Ciao
Fabio B.
|
|
| Back to top |
|
 |
Roberto Bagnoli Guest
|
Posted: Tue Oct 25, 2005 6:45 am Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Flex wrote:
| Quote: | Il Mon, 24 Oct 2005 19:48:27 +0200, Roberto Bagnoli ha scritto:
Non per farmi i c...i tuoi, ma se devi eseguire altri calcoli,
perche' perdere da subito delle cifre significative?
Boh, chi mi ha dato le specifiche,mi ha detto che sono richieste 2 cifre
di precisione, probabilmente se ce ne sono di + non guastano
|
Probabilmente servono 2 cifre di precisione sul risultato *finale*,
quindi per i calcoli intermedi ne *devi* usare di piu'.
Fai l'arrotondamento *solo* quando devi mostrare i risultati.
Oh, che poi quelle due cifre siano effettivamente significative,
questo dipende da quanti e quali calcoli fai...
Ciao
Roberto
|
|
| Back to top |
|
 |
Flex Guest
|
Posted: Tue Oct 25, 2005 6:49 am Post subject: Re: Arrotondare un double facendolo rimanere tale |
|
|
Il Mon, 24 Oct 2005 23:22:35 +0200, Fabio B. ha scritto:
| Quote: |
Dai un po' un'occhiata qui:
[url]http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html#round(java.math.MathContext[/url])
Ciao
Fabio B.
|
Interessante... grazie x il link
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
ma prima o poi finisce con l'imparare qualcosa
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|