Mehr als drei Nullen nach dem Punkt?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,
kann mir jemand sagen, warum ich mit dieser Suchoperation die drei Nullen nach dem Punkt nicht finde?
Hier ist die Suchanweisung, die in die Datei guckt und nach der Zahl sucht, mit drei Nullen nach dem Punkt:
Code:
Pattern p1 = Pattern.compile(".*\\.[0]{3}",Pattern.CASE_INSENSITIVE);  
Matcher m1 = p1.matcher(laengeNachDemKommaLLIMITS);

Die Zahl sieht z.B. so aus, die gefunden werden soll:
Code:
0.000624
Wenn ich eine Zahl mit zwei Nullen oder mit einer nach dem Punkt suche, dann wird diese Zahl gefunden, nur wenn es mehr als drei sind, dann nicht?!

Kann mir jemand helfen?
 
S

SlaterB

Gast
funktioniert
Code:
public class Test
{
    public static void main(String[] args)
        throws Exception
    {
        String laengeNachDemKommaLLIMITS = "0.000624";
        Pattern p1 = Pattern.compile(".*\\.[0]{3}",Pattern.CASE_INSENSITIVE);  
        Matcher m1 = p1.matcher(laengeNachDemKommaLLIMITS);
        System.out.println(m1.find());
    }

}
soll jetzt jemand hellsehen, was in deiner Datei steht oder wie du die Datei falsch einliest? ;)
 
G

Guest

Gast
Ich weiß nicht warum der ab drei Nullen Probleme macht, gibts vielleicht eine andere Möglichkeit abzufragen, wieviele Nullen nach dem Komma sind?
 
S

SlaterB

Gast
es gibt noch DecimalFormat und du kannst manuell die Zeichen anschauen
 
G

Guest

Gast
Moin,
ich komm hier irgendwie nicht weiter, wie soll ich denn nun alle Zahlen um zwei Stellen nach den Nullen runden,
z.B.
Code:
        12.24654 soll auf 12.25 gerundet werden
        0.125584 soll auf 0.13 gerundet werden
        0.046454 soll auf 0.046 gerundet werden
        0.008896 soll auf 0.0089 gerundet werden
        0.0004532 soll auf 0.00045 gerundet werden,
also wie gesagt zwei Stellen nach den Nullen (ob + oder - beides soll akzeptiert werden) und wenn die Zahl, so wie oben 12.24654 ist oder auch größer, diese soll dann auch zwei Stellen nach dem Komma gerundet werden.
Kann mir jemand bitte helfen?
 
S

SlaterB

Gast
wenn Zahl > 1, dann ist das Runden klar,

ansonsten die Zahl solange mit 10 multiplizieren bis sie > 1 ist,
und mit dieser Information die Originalzahl auf die richtige Anzahl der Stellen runden
 

ARadauer

Top Contributor
mal grob

Code:
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;


public class Test  {
	
public static void main(String[] args) {
	   
	DecimalFormat f = new DecimalFormat();
	f.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.ENGLISH));
	f.setMinimumFractionDigits(2);
	f.setMaximumFractionDigits(2);
	
	double[] zahlen = {12.24654d, 0.125584d, 0.046454d, 0.008896d,0.0004532d};
	
	for(double zahl:zahlen){
			if(zahl<0.001d){
			f.setMinimumFractionDigits(5);
			f.setMaximumFractionDigits(5);
		}else if(zahl<0.01d){
			f.setMinimumFractionDigits(4);
			f.setMaximumFractionDigits(4);
		}else if(zahl<0.1d){
				f.setMinimumFractionDigits(3);
				f.setMaximumFractionDigits(3);
		}else{
			f.setMinimumFractionDigits(2);
			f.setMaximumFractionDigits(2);
		}
		System.out.println(zahl +" soll auf "+f.format(zahl)+ " gerundet werden");
		
	}
  
}
}

das kann man sicher noch mit rechnen vereinfachen...
 
G

Guest

Gast
Ich hab dat jetzt so gemacht wie SlaterB gesagt hat, aber bei mir kommt immer eine 1 raus ganz am Ende der Zahl, z.b. wird aus dieser Zahl
0.0000013625496
1.3625496000000001<--genau diese 1, ich weiß nicht wie die entsteht, die soll aber weg!!??
Hier ist der Quellcode
Code:
double myDouble = 0.0000013625496;
        int countMulti = 0;
        int multiplitaktion = 1;
            
        
        while(myDouble < 1)
        {
            myDouble = myDouble*10;
            System.out.println(myDouble);
            countMulti++;            
        }        
        
        while(countMulti != 0)
        {            
            multiplitaktion = multiplitaktion * 10;
            countMulti--;
        }
        
        if(myDouble > 1)
        {
           
                double test = Math.round(myDouble*100);
                myDouble = test/100;
            //und die Zahl wieder die solange aufmultipliziert wurde bis diese > 1 ist, dann auf zwei Nachkommastellen gerundet
            //wurde und nun wieder auf die Nachkommastellen wieder zurück dividiert werden muss
                myDouble = myDouble/multiplitaktion;
                System.out.println(myDouble);               
        }
Danke schon mal im Voraus!
 
S

SlaterB

Gast
Java-double-Rechnung ist nunmal von Rundungsfehlern behaftet,
da kann man kaum was gegen machen
außer mit BigDecimal zu rechnen oder mit DecimalFormat als String darzustellen und zurückzuparsen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I "Neues" Lizenzmodell Oracle - JRE nicht mehr zur Redistribution freigegeben? Allgemeine Java-Themen 16
Blender3D Alte Beiträge nicht mehr vorhanden Allgemeine Java-Themen 6
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
G @PostConstruct Annotation nicht mehr gültig ? Allgemeine Java-Themen 7
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
A Best Practice Wie viele Referenzen machen Sinn? Weniger ist mehr? Allgemeine Java-Themen 1
X JNA funktioniert nicht mehr Allgemeine Java-Themen 4
G Eclipse Java findet MySQL Driver nach export nicht mehr Allgemeine Java-Themen 2
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
T Plötzlich wird package nicht mehr gefunden Allgemeine Java-Themen 3
D kein Versand von Mails mit Anhang mehr Allgemeine Java-Themen 2
N jre1.8.0_161 mehr CPU Allgemeine Java-Themen 0
E GUI.jfm lässt sich nicht mehr öffnen Allgemeine Java-Themen 1
Joker4632 Klassen Buffered Reader liest die Leerzeichen am Zeilen Ende nicht mehr Allgemeine Java-Themen 2
M JDK installieren MD5 SHA-1 Signatur in JAR nicht mehr vertrauenswürdig Allgemeine Java-Themen 3
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
I nach Image Load in ListView, kann Ordner nicht mehr gelöscht werden Allgemeine Java-Themen 1
Thallius Bekomme keine Exception mit Stacktrace mehr. Was habe ich getan? Allgemeine Java-Themen 13
Tacofan Button nicht mehr anklickbar machen Allgemeine Java-Themen 8
H Alter Java-Programm läuft nicht mehr. Laut strace fehlt libpthread.so.0 Allgemeine Java-Themen 3
B Bild aus Jar kann nach Export nicht mehr gefunden werden Allgemeine Java-Themen 13
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
S Wenn mehr als die Hälfte Großgeschrieben ist. Allgemeine Java-Themen 2
D mouseWheelMoved => erst reagieren, wenn für 1s das Mausrad nicht mehr benutzt wurde Allgemeine Java-Themen 4
T Nach Java Update: Jar Datein öffnen sich nicht mehr mit doppelklick Allgemeine Java-Themen 3
X Logging Messages - mehr Details? Allgemeine Java-Themen 4
Thallius Wie mache ich eine Java App mit Icon startbar die mehr Heap Speicher braucht? Allgemeine Java-Themen 3
M Eclipse Keine Ausgabe mehr bei Fehlern Allgemeine Java-Themen 3
F E-Mail aus JAVA senden nach Umstellung auf Netbean 7.4 mit Java 7U45 nicht mehr möglich Allgemeine Java-Themen 4
O Klassen Programm in Klassen unterteilt, werte werden nicht mehr übernommen Allgemeine Java-Themen 3
F Eclipse Eclipse kompiliert nicht mehr die aktuellen Dateien Allgemeine Java-Themen 2
F Nach Export wird PDF Datei nicht mehr gefunden Allgemeine Java-Themen 0
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
W Regulärer Ausdruck für 0 oder mehr Blanks Allgemeine Java-Themen 8
G .jar Dateien lassen sich nicht mehr öffnen Allgemeine Java-Themen 2
B JFreeChart -> TimeSeries-Plot -> mehr y-Achsen Allgemeine Java-Themen 2
GUI-Programmer Mehr als Properties Allgemeine Java-Themen 6
E Anwendung nutzt plötzlich nicht mehr 100% CPU Allgemeine Java-Themen 2
J Java programm lässt sich in win7 nach linux install nicht mehr ausführen Allgemeine Java-Themen 18
C Zugriff auf private Methode per reflection geht nicht mehr Allgemeine Java-Themen 3
M Java funktioniert nicht mehr Allgemeine Java-Themen 21
J Eclipse Elipse gibt mir keine Vorschläge mehr :( Allgemeine Java-Themen 6
N Java geht nicht mehr zu löschen Allgemeine Java-Themen 5
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
J Java Pfad nicht mehr in Path Variablen??? Allgemeine Java-Themen 2
P Java Anwendung mehr Speicher zur Verfügung stellen?? Allgemeine Java-Themen 3
W 2D-Grafik nach getthumbnail läst sich Quellbild nicht mehr löschen Allgemeine Java-Themen 3
R DocumentListener: Programm Reagiert nicht mehr Allgemeine Java-Themen 2
V "Java(TM) Platform SE binary funktioniert nicht mehr" Allgemeine Java-Themen 5
C Hilfe! Mein Java mag nich mehr ganz... Allgemeine Java-Themen 11
5 Javaw funktioniert nicht mehr Allgemeine Java-Themen 5
Guybrush Threepwood iText de facto nicht mehr verwendbar Allgemeine Java-Themen 15
woezelmann Object nach Deserialisierung nicht mehr gleich Allgemeine Java-Themen 13
D binäres ODER oder mehr Konstanten? Allgemeine Java-Themen 10
Y Auszuführendem Projekt mehr Speicherplatz zuweisen Allgemeine Java-Themen 3
S Jar Datei mit mehr Speicher starten Allgemeine Java-Themen 2
S JAR Datei, mehr Speicher bereitstellen Allgemeine Java-Themen 5
T "Java lernen" in etwas mehr als 8 Tagen Allgemeine Java-Themen 13
S Viele Bilder -> Speicher ausgelastet? / (De-)serialisierung geht nicht mehr richtig Allgemeine Java-Themen 8
P not enough space for object heap - Trotz mehr RAM? Allgemeine Java-Themen 6
S HWPF Problem: doc lässt sich nach Bearbeitung nicht mehr lesen Allgemeine Java-Themen 6
M umgebung funktioniert nicht mehr Allgemeine Java-Themen 14
V Nur Ästetik oder mehr? Allgemeine Java-Themen 17
G Java Tool startet von heute auf morgen nicht mehr? Allgemeine Java-Themen 7
P OutOfMemoryError beim XML erstellen bzw parsen, mehr RAM? Allgemeine Java-Themen 4
J Java reagiert nicht mehr auf die Tastatur Allgemeine Java-Themen 2
G Deserialisierung funktioniert n. Refaktorisierung nicht mehr Allgemeine Java-Themen 10
G WindowClosingAdappter und mehr Allgemeine Java-Themen 4
M Klasse Desktop geht nicht mehr (EXCEPTION_ACCESS_VIOLATION) Allgemeine Java-Themen 9
C kann nicht mehr markieren ->TreeCellRenderer Allgemeine Java-Themen 6
S Rechner formatiert - nichts geht mehr. Allgemeine Java-Themen 2
M JLabels löschen (sollen nicht mehr gezeichnet werden) Allgemeine Java-Themen 10
T Eclipse will nicht mehr :( Allgemeine Java-Themen 2
M Java funktioniert nicht mehr Allgemeine Java-Themen 9
J Eingabeaufforderung funkrioniert nicht mehr! Allgemeine Java-Themen 5
I Weiß nicht mehr weiter! Bitte helft mir! Allgemeine Java-Themen 5
S Java und mehr als ein Prozessor Allgemeine Java-Themen 6
G "mehr" undo Allgemeine Java-Themen 8
M Java funktioniert jetzt nicht mehr Allgemeine Java-Themen 6
B Der Heap Space, ich weiß nicht mehr weiter! Allgemeine Java-Themen 15
G DBzugriff funktioniert nach 'Build Main Project' nicht mehr Allgemeine Java-Themen 2
O Prefixes in Java alt und nicht mehr notwendig oder nützlich Allgemeine Java-Themen 18
F Shell-Programme per Runtime.exec() starten und mehr? Allgemeine Java-Themen 4
N Servlets: Formulardaten auslesen (POST) - mehr Informationen Allgemeine Java-Themen 4
I JTextArea soll nur drei Zeilen anzeigen Allgemeine Java-Themen 1
M Eclipse drei slashs durch zwei ersetzen? Allgemeine Java-Themen 3
J Drei Bedingungen -> 9 Fällen, welcher Ansatz besser Allgemeine Java-Themen 4
D Werte aus drei Auswahllisten Allgemeine Java-Themen 5
C double Zahlen mit drei NachkommaStellen in String umwandeln Allgemeine Java-Themen 2
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
M Probleme beim rechnen, bei Zahlen mit führenden Nullen. Allgemeine Java-Themen 7
S Nullen aus Array löschen Allgemeine Java-Themen 10
T MD5 Verschlüsselung Nullen fehlen? Allgemeine Java-Themen 2
L String mit Nullen auffüllen! Allgemeine Java-Themen 5
ruutaiokwu Per Reflection membervariablen überschreiben / zuweisen / nullen Allgemeine Java-Themen 5
G führende nullen entfernen Allgemeine Java-Themen 14
M String nach Integer und führende Nullen Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben