2016-08-11 3 views
0

ich bin neugierig und suche basic java primitiven wert "double". es sagt doppelt ist ungefähr 10^308 Länge.java doppel print max länge

aber jede kompilieren Datei,

error: integer number too large: 123456789101115 double a= 123456789101115;

das ist mein Beispiel:

public static void main(String []args){ 

    double a= 123456789101115; 

    System.out.println(a); 
} 

ich will, wenn es kompiliert und ausgeführt wird, zeigen Sie sie 123456789101115. vielleicht einige Leute sagen, warum nicht lange benutzen?

eigentlich möchte ich Berechnung wie Ausgang = 0.354 * 123456 (etwa 15-stellig) erstellen.

Und noch eins, ich will alle Wertausdruck, was bedeutet, nicht mit E .. ex: 6.6E9, aber ich will volle ex: 6600000000 irgendwelche vorschlagen?

+0

Was passiert in Ihrem Code: Sie haben zuerst einen int-literalen Wert 1234567890101115, dann ordnen Sie es in double, was ein Prozess von Casting Int ist, um implizit zu verdoppeln. – SOFe

Antwort

4

Geben Sie an, dass es sich um ein Doppelbild handelt, indem Sie am Ende ein d oder D oder einen Dezimalpunkt hinzufügen oder wissenschaftliche Notation verwenden.

double a= 123456789101115d; // d 
double a= 123456789101115D; // D 
double a= 123456789101115.0; // decimal point (you can leave of the final zero) 
double a= 123456789101115e0; // scientific notation 

Zahlenliterale (Zahlen) in Java haben eine Art von ihrer eigenen, die unabhängig von der Variablen Sie es zuweisen existiert. Mit den oben genannten Methoden können Sie angeben, dass es sich um eine doppelte Zahl handelt.

+0

danke für deine antwort. fast fertig, aber wenn Skript ausgeführt wird, zeigt es: 1.23456789101115E14 Ich möchte Wert gleich mit meiner Eingabe. nicht verwenden 1.23456789101115 * E14 * –

+0

@StevenSugiartoWijaya Das ist wissenschaftliche Notation, sobald eine Zahl über eine bestimmte Größe kommt, wird es so gedruckt. Aber es gibt viele andere Möglichkeiten, Zahlen in Java wie 'NumberFormat' zu formatieren. Eine einfache Möglichkeit, die gewünschte Ausgabe zu erhalten, ist: 'System.out.format ("%. 0f \ n ", a);' - Dadurch wird die Zahl ohne einen Bruchteil gedruckt. –

+0

danke für deine Hilfe –