当前位置: 首页 > 面试题库 >

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

胡彭亮
2023-03-14
问题内容

我最初尝试过此方法,但是未为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领域内工作。



 类似资料:
  • 问题内容: 我试图找到最大的立方根,即整数,小于12,000。 我不确定如何检查它是否是整数!我可以将其转换为字符串,然后使用索引来检查最终值,看看它们是否为零,但这似乎很麻烦。有没有更简单的方法? 问题答案: 要检查浮点值是否为整数,请使用以下方法: 该方法已添加到Python 2.6中的类型中。 请考虑在Python 2中为(整数操作数的底数除法!),并且浮点算术可能不精确(a是使用二进制分数

  • 问题内容: 我想将浮点数转换为JavaScript中的整数。实际上,我想知道如何同时进行标准转换:截断和舍入。而且有效,而不是通过转换为字符串和解析。 问题答案: 例子 Positive Negative Positive - Larger numbers Negative - Larger numbers

  • 问题内容: 是否有可能做到这一点? 我知道代码可能不会去这样的事情,但怎么也去了? 问题答案: 这将检查双精度值的四舍五入值是否与双精度值相同。 你的变量可能具有或值,并且始终具有int值,因此,如果你的变量等于,则它必须具有int值。 如果变量的值是无穷大或负无穷大,那么这也不起作用,因此向条件添加“只要变量不是无穷大”。

  • 问题内容: 使用Swift 3。 我在网上发现许多奇怪的解决方案,用于检查对象是否为整数。一切都比需要的复杂得多。 这是我的解决方案: 在我的测试中,这可行。我的问题是我缺少明显的东西吗? 问题答案: 感谢您的评论!这是我现在正在使用的。

  • 问题内容: 比较浮点数和这样的整数是否安全? 根据JLS(5.6.2。二进制数值提升),如果其中一个参数为,则另一个参数将转换为比较之前的值。但是据我了解,如果转换后的float与原始float二进制相同,则这样的比较将返回true。我们如何确保呢? 问题答案: 是的,您的具体示例很好,因为和都可以精确地表示为。 请注意,通常情况下并非如此:有很多大值无法完全表示为。例如,即使2_000_000_

  • 问题内容: 我需要在sql server中编写以下查询: 请帮助我,谢谢。 问题答案: