Heim >Backend-Entwicklung >Golang >Wie kann ich überprüfen, ob ein Go float64 eine ganze Zahl darstellt?
Bestimmen ganzzahliger Werte aus Gleitkommazahlen in Go
In Go kann die Bestimmung, ob ein float64 eine ganze Zahl darstellt, eine Herausforderung darstellen. Der Modulo-Operator (%) kann nicht direkt auf Floats verwendet werden.
Lösung 1: Float64 mit Integer-Äquivalent vergleichen
Wenn Ihre Zahlen in einen int64 passen, sollten Sie einen Vergleich in Betracht ziehen der Float mit seinem konvertierten Ganzzahlwert:
if a == float64(int64(a)) { ... }
Lösung 2: Nutzen math.Trunc
Für die gesamte float64-Domäne können Sie die Funktion math.Trunc verwenden:
if a == math.Trunc(a) { ... }
Zum Beispiel:
package main import ( "fmt" "math" ) func main() { var a float64 = 2.00 if a == math.Trunc(a) { fmt.Println("yay") } else { fmt.Println("you fail") } }
Dieser Code Gibt „yay“ korrekt aus, wenn a auf 2,00 gesetzt ist, was anzeigt, dass es sich um eine ganze Zahl handelt.
Das obige ist der detaillierte Inhalt vonWie kann ich überprüfen, ob ein Go float64 eine ganze Zahl darstellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!