Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    [java] utilizzare double con non più di 2 numeri dopo la virgola

    Ciao,
    qualcuno sà dirmi un modo per "arrotondare" i valori double ad un massimo di 2 cifre dopo la virgola?

    Dopo aver fatto alcuni conti infatti mi ritrovo con valori del tipo: 45.748587455456544
    a me basta un semplice: 45.74 o 45.75

    Qualche suggerimento? :master:

    Ho usato il metodo Math.floor ma non mi soddisfa!

    Ringrazio anticipatamente x l'aiuto.

  2. #2
    usa una variabile di tipo float al posto che una double...

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  3. #3
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    dubbio ??? e se fai un parse da double a float ottini lo stesso risultato ???
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  4. #4
    cosa cambia?
    anche così ci sarebbero più di 2 numeri dopo la virgola...o sbaglio?

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Non credo sia possibile regolare il numero di decimali per un campo float a virgola mobile in generale; tutt'al più, si tratta di un problema di visualizzazione che va risolto applicando un formato nel momento in cui rappresenti il valore stesso all'interno di un'etichetta o di un controllo visuale.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    cercando su google ho trovato questa

    codice:
    double arrotonda(double d, int p) 
    {
       return Math.rint(d*Math.pow(10,p))/Math.pow(10,p);
    }
    faceva parte di un codice che arrotondava a un certo numero di cifre quindi magari ti può tornare utile...

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  7. #7

    Re: [java] utilizzare double con non più di 2 numeri dopo la virgola

    Originariamente inviato da nrocco
    Ciao,
    qualcuno sà dirmi un modo per "arrotondare" i valori double ad un massimo di 2 cifre dopo la virgola?

    Dopo aver fatto alcuni conti infatti mi ritrovo con valori del tipo: 45.748587455456544
    a me basta un semplice: 45.74 o 45.75

    Qualche suggerimento? :master:

    Ho usato il metodo Math.floor ma non mi soddisfa!

    Ringrazio anticipatamente x l'aiuto.
    Scusa ma usare la classe BigDecimal non puoi?Con quella ottieni tranquillamente quello che vuoi fare
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  8. #8
    La classe BigDecimal?!? ...scusa l'ignoranza ma non l'ho mai sentita...comunque, come potrebbe aiutarmi?

    Io ho temporaneamente risolto così, ad es. per il calcolo di un prezzo ivato:
    codice:
    float ivato = (Math.rint(prezzo*120))/100
    Così ottengo quello che voglio, cioè 2 soli numeri dopo la virgola.

    IL problema purtroppo persiste quando devo fare operzioni del tipo: prezzo * 3 in cui i numeri dopo la virgola ricompaiono numerosi!

    Come posso ovviare?

    Vi prego aiutatemi, grazie!

  9. #9
    Guarda nella libreria standard di java e trovi tutto sulla classe BigDecimal

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  10. #10
    Originariamente inviato da Matteo982
    Guarda nella libreria standard di java e trovi tutto sulla classe BigDecimal

    Ciao.
    Esatto controlla li!
    Ti può aiutare perchè ha già implementati tutti i metodi pergestire l'arrotondamento il troncamento etc...
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.