Salve,
come faccio a limitare i numeri dopo la virgola di un double?
Grazie
Salve,
come faccio a limitare i numeri dopo la virgola di un double?
Grazie
Moltiplichi per 10^num_cifre, tronchi con Math.floor() (o round() a seconda), il risultato lo dividi per 10^num_cifre. Questo è l'approccio "tipico".Originariamente inviato da nonsopiuchedire
come faccio a limitare i numeri dopo la virgola di un double?
Grazie
Se invece vuoi ottenere un String (quindi formattare il valore) con N cifre, si può fare e in diversi modi mi pare.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Quello dello String mi interessa di più.
Infatti il mio problema è quello di fare delle operazioni su dei double
e poi inserire il risultato in un db. Queste colonne però sono di tipo varchar, infatti trasformo il risultato in string.
Quindi se mi indicassi il modo, farei il troncamento direttamente sullo string.
Grazie, Grazie, Grazieeeeee
Il perché un valore double devi metterlo in un varchar sarebbe un altro discorso ....Originariamente inviato da nonsopiuchedire
Quello dello String mi interessa di più.
Infatti il mio problema è quello di fare delle operazioni su dei double
e poi inserire il risultato in un db. Queste colonne però sono di tipo varchar, infatti trasformo il risultato in string.
Comunque:
Nota che con il codice sopra il separatore dei decimali non è sempre il '.' (punto)! Il punto che vedi è solo nella specifica generica del formato.codice:double d = 123456.45678; DecimalFormat df = new DecimalFormat("#.##"); // 2 cifre decimali String s = df.format(d);
Il separatore inserito nella stringa dipende dal Locale corrente (se italiano la virgola, se inglese il punto, ecc...)
Se vuoi "fissare" il locale al DecimalFormat lo puoi fare, vedi setDecimalFormatSymbols() di DecimalFormat o l'altro sui costruttore. E un DecimalFormatSymbols lo crei passando un Locale specifico.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Devo mettere un double in un varchar perché mi serve un numero con 2 cifre intere e solo 8 decimali,
ora, mysql non permette di inserire un numero con il numero di cifre decimali maggiore della cifre intere.
Ecco perché tutto questo giro, infatti devo sempre fare delle trasformazioni.
Come affermazione a me sembra falsa.Originariamente inviato da nonsopiuchedire
mysql non permette di inserire un numero con il numero di cifre decimali maggiore della cifre intere.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Se la mia affermazione è falsa sono contentissima!
Però, come mai quando dichiaro il campo di tipo double (2,8) mi da errore dicendo che M >= D?
Se mi aiuti a risolvere posso modificare il codice java, semplificandolo![]()
Ho visto solo ora l'errore di interpretazione che facevo.
Leggendo un altro manuale ho capito che M rappresenta il num totale di cifre!!!!!!!!!
Scusa per il disturbo, ma grazie per la svegliata!
Ora vediamo come sistemare il codice java![]()