Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906

    [JAVA/JSP] Arrotondare un int

    Se ho un numero intero e devo fare una divisione con un altro intero, che tipo di variabile uso? Boolean??

  2. #2

    Re: [JAVA/JSP] Arrotondare un int

    Originariamente inviato da olivs
    Se ho un numero intero e devo fare una divisione con un altro intero, che tipo di variabile uso? Boolean??
    un float, se non erro
    i double invece sono per la divisione tra long

  3. #3
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    quindi per dire lo definisco cosi:
    float divisione;
    mi serve arrivare ad avere la percentuale senza virgola quindi dovrei fare una cosa tipo 1/3=0,3333333... arrotondare quindi al secondo decimale dopo la virgola

  4. #4
    Originariamente inviato da olivs
    quindi per dire lo definisco cosi:
    float divisione;
    mi serve arrivare ad avere la percentuale senza virgola quindi dovrei fare una cosa tipo 1/3=0,3333333... arrotondare quindi al secondo decimale dopo la virgola
    potresti anche semplicemente passare il float a un NumberFormat e ottenere una stringa gia' arrotondata al decimale che vuoi tu

  5. #5
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    Ehm visto che sono alle prime armi cosa faccio?

  6. #6
    Originariamente inviato da olivs
    Ehm visto che sono alle prime armi cosa faccio?
    ok, scusa... ti posto un esempio:

    codice:
    float divisione = intuno/intdue;
    DecimalFormat dFormat = new DecimalFormat("0.00");
    String risultatoArrotondato = dFormat.format((double) divisione);
    nel caso tuo specifico di prima ottieni "0.34"

    se invece devi ottenere un float arrotondato per altri calcoli

    codice:
    float divisione = intuno/intdue;
    divisione = divisione * 100;//in modo da ottenere un arrotondamento di due decimali
    divisione = (Math.round(divisione)/100);
    potrebbero esserci delle imprecisioni, visto che ho adattato a getto un paio di miei pezzi di codice.
    ricorda sempre di stare attento a non mischiare int e long o float e double, rischi di perdere in precisione.


  7. #7
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    o grazie molto gentile, al momento la difficolta piu grande che incontro è dove trovare queste belle funzioncine al volo

  8. #8
    Originariamente inviato da olivs
    o grazie molto gentile, al momento la difficolta piu grande che incontro è dove trovare queste belle funzioncine al volo
    ti consiglio di scaricarti un buon IDE (Netbeans o Eclipse) e i javadoc

    poi fai un salto qui a leggere qualcosa


  9. #9
    Allora... sono tornata dalle vacanze pronta per rispondere all'unico moderatore a cui posso spiegare qlksa ank'io.

    Per fare una divisione tra interi puoi usare un double o un float a seconda della precisione che vuoi ottenere. Nel tuo caso penso che basti un double.
    In ogni caso non ti do una risposta precisa perchè non ho voglia di fare i conticini... se vuoi essere sicuro guarda la precisione di questi due diversi tipi di dato.

    Sicuramente non devi usare un boolean che può avere solo due valori: vero o falso.

    Se fai una divisione di questo tipo:
    1/3 otterrai 0 perchè automaticamente java capisce che vuoi un risultato intero, per averne uno con la virgola fai 1/3.0.
    A questo punto per avere il risultato formattato fai:

    codice:
    //res contiene il risultato della tua operazione
    double res = 0.3333;
    
    //individua il modo di rappresentare le percentuali a seconda delle impostazioni del tuo pc
    NumberFormat nf = NumberFormat.getPercentInstance();
    
    //imposti a 0 il numero delle cifre decimali che vuoi visualizzare
    nf.setMaximFractionDigits(0);
    
    //ottieni una stringa formattata come volevi
    nf.format(res);
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  10. #10
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    Bella cosa sto provando a usare il codice che mi hai postato, ma mi da un errore di compilazione, non è che devo includere qualcosa di particolare per i vari conti tipo
    codice:
    <%@ page import="java.sql.*" %>
    che si usa per sql?

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.