Zählen Sie die Anzahl der Stellen nach dem Dezimalpunkt in Java

Ich will das tun

Ich möchte die Zahl nach dem Dezimalpunkt zählen.

Eingang(Float) Ausgabe(int)
0.0 0
1.0 0
0.1 1
11.1 1
0.001 3

Code

public int getPrecision(Float val){
  //In Java ist die Methode zum Konvertieren von Float nach int eine Menge nutzloser Verarbeitung, daher wird sie als Zeichenfolge gezählt.
  String str = String.valueOf(val);

  //Das Ende des Satzes".0"Und".00000"Alle, die mit enden, werden auf die Ziffer 0 gesetzt
  if(str.matches("^.*\\.0+$")){
    return 0;
  }

  int index = str.indexOf(".");
  return str.substring(index + 1).length();
}

Ergebnis

Ich kann machen was ich will.

Unten die Geschichte, nach der ich süchtig war

Erstens der Teil des regulären Ausdrucks

str.matches("\\.0+$")

Als ich es als schrieb, wurde die Ausgabe seltsam.

Eingabe 0.0 Ausgang 1 ← falsch
Eingabe 0.1 Ausgang 1 ← Richtig

Das?

Wenn ich versuche zu debuggen

"0.0".matches("\\.0+$")
//Ergebnis:false

Das? Stimmt nicht überein

Tatsächlich war dieser Code gleichbedeutend mit dem folgenden Code.

"0.0".matches("^\\.0+$$")
//Ergebnis:false

Fazit

Verwenden Sie bei Verwendung der String.matches-Methode in Java Regex einschließlich ^ und $

// \\.0+$Wenn Sie den regulären Ausdruck von verwenden möchten. .. ..
"0.0".matches("^.*\\.0+$")
//Ergebnis:true

Referenz

http://d.hatena.ne.jp/kakkun61/20100104/1262605869

Recommended Posts

Zählen Sie die Anzahl der Stellen nach dem Dezimalpunkt in Java
[Hinweis] Behandlung von Java-Dezimalstellen
Anzahl der Ziffern des numerischen Typs
Die Geschichte des Schreibens von Java in Emacs
[Java] Überprüfen Sie die Anzahl der Zeichen
Erhöhen Sie dynamisch die Anzahl der Elemente in einem zweidimensionalen Java-Array (mehrdimensionales Array).
So ermitteln Sie die Gesamtzahl der Seiten beim Paging in Java
Die Geschichte des einfachen String-Vergleichs in Java
Die Geschichte eines gewöhnlichen Othello in Java
Über die Idee anonymer Klassen in Java
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
Spüren Sie den Lauf der Zeit auch in Java
Ich möchte nach dem Dezimalpunkt abschneiden
Importieren Sie Dateien derselben Hierarchie in Java
[java] Nummer ablehnen → Zahl n-Zahl → Dezimalzahl
Rufen Sie die URL des HTTP-Umleitungsziels in Java ab
Ändern Sie die Speicherqualität von JPEG-Bildern in Java
Kann die Anzahl der Ziffern Math.log10 (x) .floor + 1 sein?
Fassen Sie die zusätzlichen Elemente der optionalen Klasse in Java 9 zusammen
Wurde im Basisjahr der Java-Kalenderwoche durchgeführt
[Ruby] Zähle eine gerade Zahl in einem Array mit der geraden? -Methode
Eine kurze Erklärung der fünf Arten von Java Static
Erhältlich am nächsten Werktag nach dem angegebenen Datum bei JAVA
Befehl zum Überprüfen der Anzahl und des Status von Java-Threads
Ein Programm, das die Anzahl der Wörter in einer Liste zählt
So leiten Sie den letzten Tag des Monats in Java ab
Informationen zum Standardverhalten der Bruchrundung mit java.text.NumberFormat
[Java] Löschen Sie die angegebene Anzahl von Zeichen am Ende von StringBuilder
Java-Implementierung von Tri-Tree
Finden Sie mit Kotlin die Anzahl der Tage in einem Monat
Informationen zur Methode zum Konvertieren einer Zeichenfolge in eine Ganzzahl / einen Bruch (Umwandlungsdaten) in Java
Umgang mit Java-Gleitkomma Beim Lesen des Nachschlagewerks [Hinweis]
Untersuchen Sie die Systeminformationen der AWS Lambda-Betriebsumgebung in Java
[Java] Ordnen Sie die Daten des vergangenen Montags und Sonntags der Reihe nach an
Geben Sie die Differenz zwischen jedem Feld zweier Objekte in Java aus
Untersuchen Sie die Liste der in AWS Lambda + Java verfügbaren Schriftarten
Die in /lib/calendars.properties von Java jre festgelegte Millisekunde ist UTC
Untersuchen Sie die Liste der Zeitzonen-IDs, die in der Java ZoneId-Klasse verfügbar sind
Rufen Sie die öffentliche URL der privaten Datei von Flickr in Java ab
Der Suchtpunkt bei der Durchführung der Basisauthentifizierung mit Java URLConnection
Lassen Sie uns eine TODO-App in Java 5 erstellen. Schalten Sie die Anzeige von TODO um
So ermitteln Sie die Länge einer Audiodatei mit Java
So erhöhen Sie den Wert von Map in einer Zeile in Java
Greifen Sie mit Java auf die Netzwerkschnittstelle zu
[Java] Löschen Sie die Elemente von List
Errate den Zeichencode in Java
[Java Edition] Geschichte der Serialisierung
Geben Sie den Java-Speicherort in eclipse.ini an
Liste der in Java 9 hinzugefügten Mitglieder
Analysieren der COTOHA-API-Syntaxanalyse in Java
Liste der in Java 9 hinzugefügten Typen
Reihenfolge der Verarbeitung im Programm
Der Ursprung von Java-Lambda-Ausdrücken
Implementierung einer ähnlichen Funktion in Java
Rufen Sie die Super-Methode in Java auf
Stellen Sie die Anzahl der Sekunden für den schnellen Vor- und Rücklauf in ExoPlayer ein