Voglio convertire esponenziale in decimale. per esempio. 1.234E3
a 1234
.Conversione da modulo esponenziale a decimale in Java
risposta
è possibile trasformarlo in una stringa utilizzando DecimalFormat
In realtà non è una conversione, ma a come si visualizzazione il numero. È possibile utilizzare NumberFormat per specificare come deve essere visualizzato il numero.
Controllare la differenza:
double number = 100550000.75;
NumberFormat formatter = new DecimalFormat("#0.00");
System.out.println(number);
System.out.println(formatter.format(number));
puoi dirmi come fare lo stesso per i numeri che hanno il punto decimale. per esempio. 1234567812,1212. La notazione esponenziale sarà 1.2345678121212E9. Devo riportarlo a 1234567812.1212. Se ci sono 4 numeri dopo il punto decimale, ho bisogno di ottenere 4. Se 5 numero, quindi 5. – sai
Sai, usare #. ########. È possibile aggiungere più # dopo il separatore decimale per aumentare la precisione. Tuttavia, tieni presente che la precisione massima sarà determinata dal tipo di dati che utilizzi. Se si usa il doppio, ad esempio, non si otterranno più di 17 cifre decimali (basta controllare cosa succede se si stampa 1/3 senza un formattatore). Quindi, se includi più di diciassette # dopo il separatore decimale, non aumenterà la precisione. Se hai bisogno di più precisione del doppio, vedi la classe BigDecimal. –
Come su BigDecimal.valueOf(doubleToFormat).toPlainString()
Quale sarebbe la differenza se avessi usato toString() invece di toPlainString()? –
@ShiladittyaChakraborty, la prima frase in [API per BigDecimal.toString()] (https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html#toString--) dichiara quella notazione scientifica sarà usata se è necessario un esponente. – Paul
la risposta @ b.roth è corretto solo se è determinato paese. Ho usato questo metodo e ho ottenuto il problema i18n, perché il new DecimalFormat("#0.00)
prende il separatore decimale del paese particolare. Ad esempio, se un paese utilizza la separazione decimale come ",", il valore formattato sarà in 0,00 (es. 1.2e2 sarà 120.00 in alcuni luoghi e 120,00) in alcuni punti a causa del problema i18n come detto here ..
il metodo che preferisco è `(. nuova BigDecimal ("1.2e2") toPlainString())
basta aggiungere tag seguente per jspx: -
<f:convertNumber maxFractionDigits="4" minFractionDigits="2" groupingUsed="false"/>
String data = Long.toString((long) 3.42E8);
System.out.println("**************"+data);
prova il seguente
long l;
double d; //It holds the double value.such as 1.234E3
l=Double.valueOf(time_d).longValue();
si ottiene il valore decimale nella variabile l.
Mentre si lavora con i numeri doppio e lungo in Java, si vedrà che la maggior parte del valore è visualizzata in forma esponenziale.
Per esempio: in seguito stiamo moltiplicando 2.35 con 10000 e il risultato è stampato.
//Division example
Double a = 2.85d/10000;
System.out.println("1. " + a.doubleValue());
//Multiplication example
a = 2.85d * 100000000;
System.out.println("2. " + a.doubleValue());
Risultato:
- 2.85E-4
- 2.85E8
Così si può vedere il risultato viene stampato in formato esponenziale. Ora potresti voler visualizzare il risultato in puro formato decimale come: 0,000285 o 285000000. Puoi farlo semplicemente usando la classe java.math.BigDecimal
. Nell'esempio seguente viene utilizzato BigDecimal.valueOf()
per convertire il valore Double in BigDecimal
e in .toPlainString()
per convertirlo in una stringa decimale semplice.
import java.math.BigDecimal;
//..
//..
//Division example
Double a = 2.85d/10000;
System.out.println("1. " + BigDecimal.valueOf(a).toPlainString());
//Multiplication example
a = 2.85d * 100000000;
System.out.println("2. " + BigDecimal.valueOf(a).toPlainString());
Risultato:
- 0.000285
L'unico svantaggio del metodo sopra è che genera lunghe stringhe di numero. Potresti voler limitare il valore e arrotondare il numero a 5 o 6 punti decimali. Per questo è possibile utilizzare la classe java.text.DecimalFormat
. Nell'esempio seguente stiamo arrotondando il numero a 4 cifre decimali e stampando l'output.
import java.text.DecimalFormat;
//..
//..
Double a = 2.85d/10000;
DecimalFormat formatter = new DecimalFormat("0.0000");
System.out.println(formatter .format(a));
Risultato:
0,0003
Ho appena provato a comprimere questo codice con una sola riga, stamperà il valore di 'a', con due cifre decimali:
new DecimalFormat("0.00").format(BigDecimal.valueOf(a).toPlainString());
Conversione felice :)
Si può fare:
BigDecimal
.valueOf(value)
.setScale(decimalLimit, RoundingMode.HALF_UP)
.toPlainString()
- 1. convertire esponenziale decimale in pitone
- 2. conversione da decimale a int in C#
- 3. Conversione del valore esponenziale in java in un formato numerico
- 4. Conversione da decimale a esadecimale con Erlang?
- 5. Python: binario a decimale conversione
- 6. Conversione da virgola mobile a decimale in SQL Server 2008
- 7. java (principiante) la conversione di notazione scientifica a decimale
- 8. Conversione da JSON a XML in Java
- 9. Conversione da Unicode a stringa in Java
- 10. Conversione da byte a int in java
- 11. Conversione da double a float in Java
- 12. Java analizza un numero in notazione esponenziale
- 13. Conversione di tipo da C a Java
- 14. Convertire numeri con notazione esponenziale da stringa a doppia o decimale
- 15. Conversione da Bash shell a conversione binaria da
- 16. Conversione da PDF a Postscript utilizzando Java
- 17. Conversione da app Android a Java Desktop
- 18. Conversione da oggetto Java a sottoclasse
- 19. Conversione da numero intero a Java
- 20. Conversione facoltativa da Guava a Java
- 21. Conversione da stringa a colore Java/Android
- 22. Implementazione media mobile esponenziale in Java
- 23. Conversione stringa in Javascript (decimale in binario)
- 24. PHP Modulo decimale
- 25. C# galleggiante alla conversione decimale
- 26. Conversione da Hex a Binary in bash
- 27. Conversione da esadecimale a virgola mobile comune
- 28. Int a decimale di conversione - Inserire punto decimale in posizione specificata
- 29. Conversione da lungo [64] a byte [512] in Java?
- 30. da doppio a lungo senza conversione in Java
come è il numero esponenziale memorizzato, in un doppio? cosa vuoi che il decimale sia memorizzato come? –