私はもともとこれを試しましたが、%演算子はfloat64のために定義されていません。浮動小数点数がGoの整数であるかどうかをテストするにはどうすればよいですか?
if a == float64(int64(a)) {
fmt.Println("yay")
} else {
fmt.Println("you fail")
}
は、そうでなければ、あなたがmath.Trunc
を使用することができます。
func main(){
var a float64
a = 1.23
if a%1 == 0{
fmt.Println("yay")
}else{
fmt.Println("you fail")
}
}
よくタイプされたGo式のようには見えません。 Goは、 '=='の両方のオペランドがまったく同じ型であると主張しています。 – Gian
実際、これを試してみると、それは前述の理由からよくタイプされていないものとして拒否されます。 1つは最初に浮動小数点にキャストする必要があります。 – Gian
はい、あなたは正しいです、私はちょっと忘れて、修正するために編集しました。 – paxdiablo