Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    111

    Formattare numero con decimali

    Vorrei formattare un numero con virgola in un numero avente 7 cifre parte intera e 3 cifre parte frazionaria.
    Ho fatto questo codice, funziona, ma mentre per la parte frazionaria il troncamento produce pure unarrotondamento "intelligente" per la parte intera c'è troncamento brutale sulle cifre più significative.
    L'output è questo: 6789015.492

    Dando per scontato che per la parte intera c'è cmq una perdita di informazione troncando a un numero di cifre minore, ma non c'è un modo per fargli troncare la parte meno significativa?

    codice:
    String s = "456789015.4919898";
    		
    Double d = (Double)Double.parseDouble(s);
    
    DecimalFormatSymbols symb = new DecimalFormatSymbols();
    symb.setDecimalSeparator('.');
    
    DecimalFormat df = new DecimalFormat();
    df.setDecimalFormatSymbols(symb);
    df.setMaximumFractionDigits(3);
    df.setMaximumIntegerDigits(7);
    df.setGroupingUsed(false);
    
    System.out.println(d);
    System.out.println(df.format(d));

  2. #2
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    considera la parte intera e quella decimale come 2 numeri separati, tronca dove devi troncare e riagganciali ricomponendo parteIntera + "." + parteDecimale

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.