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

    Troncare float senza arrotondamento

    Come posso fare per stampare un float troncato a 2 cifre decimali.
    Ho provato con printf di %.2f ma me lo arrotonda, io vorrei che mi troncasse il numero senza arrotondarlo.
    Coltiva Linux, Windows si pianta da solo!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Troncare float senza arrotondamento

    Originariamente inviato da loHacker
    Come posso fare per stampare un float troncato a 2 cifre decimali.
    Ho provato con printf di %.2f ma me lo arrotonda, io vorrei che mi troncasse il numero senza arrotondarlo.
    Vedi http://forum.html.it/forum/showthrea...1#post12913591
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Purtroppo ho lo stesso effetto. Con un float 0.70710677 mi diventa 0,71 mentre io vorrei 0.70
    Coltiva Linux, Windows si pianta da solo!

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da loHacker
    Purtroppo ho lo stesso effetto. Con un float 0.70710677 mi diventa 0,71 mentre io vorrei 0.70
    codice:
    public class Prova {
        public static void main(String[] args) {
            float f = 0.70710677f;
    
            double n = troncaCifreDec(f, 2);
    
            System.out.println(n);
            System.out.printf("%.2f%n", n);
        }
    
        public static double troncaCifreDec(double v, int cifre) {
            double mult = Math.pow(10, cifre);
            return Math.floor(v*mult) / mult;
        }
    }
    Output:
    0.7
    0,70
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Grazie perfetto, un ultima cosa, come faccio a usare il punto invece della virgola. Ho pensato a sostituirlo direttamente nella stringa, solo che la virgola viene messa durante la stampa.
    Coltiva Linux, Windows si pianta da solo!

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da loHacker
    come faccio a usare il punto invece della virgola.
    Usi il printf() che riceve un Locale e gli passi Locale.ENGLISH
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Grazie non l'avevo visto ora funziona perfettamente!!
    Coltiva Linux, Windows si pianta da solo!

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.