如何在Go中测试浮点数是否为整数?

我最初尝试过此方法,但是未为float64定义%运算符。

func main(){

var a float64

a = 1.23

if a%1 == 0{

fmt.Println("yay")

}else{

fmt.Println("you fail")

}

}

回答:

假设您的数字适合int64,则可以将浮点值与转换后的整数值进行比较,以查看它们是否相同:

if a == float64(int64(a)) {

fmt.Println("yay")

} else {

fmt.Println("you fail")

}

否则,您可以使用此处math.Trunc详述的功能,例如:

if a == math.Trunc(a) {

fmt.Println("yay")

} else {

fmt.Println("you fail")

}

那应该在整个float64领域内工作。

以上是 如何在Go中测试浮点数是否为整数? 的全部内容, 来源链接: utcz.com/qa/404725.html

回到顶部