Maison >développement back-end >Golang >Comment puis-je vérifier si un Go float64 représente un nombre entier ?
Détermination de valeurs entières à partir de nombres à virgule flottante dans Go
Dans Go, déterminer si un float64 représente un nombre entier peut poser un défi. L'opérateur modulo (%) ne peut pas être utilisé directement sur les flottants.
Solution 1 : Comparer Float64 avec un équivalent entier
Si vos nombres peuvent tenir dans un int64, pensez à comparer le float avec sa valeur entière convertie :
if a == float64(int64(a)) { ... }
Solution 2 : Utiliser math.Trunc
Pour l'ensemble du domaine float64, vous pouvez utiliser la fonction math.Trunc :
if a == math.Trunc(a) { ... }
Par exemple :
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") } }
Ce code affiche correctement "yay" lorsque a est défini sur 2,00, indiquant qu'il s'agit d'un nombre entier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!