首页 >后端开发 >Golang >如何检查 Go float64 是否代表整数?

如何检查 Go float64 是否代表整数?

Susan Sarandon
Susan Sarandon原创
2024-12-27 15:13:11644浏览

How Can I Check if a Go float64 Represents a Whole Number?

在 Go 中根据浮点数确定整数值

在 Go 中,确定 float64 是否表示整数可能会带来挑战。模运算符 (%) 不能直接用于浮点数。

解决方案 1:比较 Float64 与等效整数

如果您的数字可以放入 int64,请考虑比较浮点数及其转换后的整数value:

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

解决方案 2:利用 math.Trunc

对于整个 float64 域,您可以使用 math.Trunc 函数:

if a == math.Trunc(a) { ... }

例如:

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")
    }
}

此代码正确输出当a设置为2.00时“yay”,表示它是一个整数。

以上是如何检查 Go float64 是否代表整数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn