Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA] Trasformare un double in valore intero!

    a tutti
    ho questo problema: ho una serie di somme di valori double fatte tramite un ciclo for che vanno via via sommandosi ad un totale che però deve essere intero!
    Per semplificare diciamo che io ho queste variabili:
    int totale=0;
    double var=12.50;
    e devo fare diverse operazioni con var che mi possono portare un valore non intero. Ora se alla fine di queste operazioni provo a fare semplicemente:
    totale=math.rint(var);
    mi da il seguente errore:
    possible loss of precision: double required int;

    se invece dichiaro totale come variabile double mi stampa 13.0....
    Il risultato sarebbe anche correntto ma per eliminare lo 0 dopo il punto?

    P.S.: L'unica idea che mi è venuta è quella di trasformare il valore in stringa e quindi fare il parsing e stampare tutto quello che c'è prima del punto..... Ma è possibile che non esista un modo + semplice per convertire un double in int?
    Si dice che ci vuole un minuto per notare una persona speciale, un'ora per apprezzarla, un giorno per volerle bene, ...ma poi tutta una vita per dimenticarla.

    UN AMICO E' UN SOLE SENZA TRAMONTO...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Un semplice cast?

    codice:
    double b = ...;
    int totale = (int) b;

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Non capisco, se sei sicuro che il risultato sia intero basta che fai una conversione totale = (int) var, ma se il risultato può non essere intero ciò ti porta ad una perdita di precisione!
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  4. #4

    quanto sono deficente ogni tanto

    e io che cercavo di farlo in modi assurdi......


    grazie ad entrambi
    Si dice che ci vuole un minuto per notare una persona speciale, un'ora per apprezzarla, un giorno per volerle bene, ...ma poi tutta una vita per dimenticarla.

    UN AMICO E' UN SOLE SENZA TRAMONTO...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.