ホームページ >バックエンド開発 >Golang >Go float64 が整数を表しているかどうかを確認するにはどうすればよいですか?

Go float64 が整数を表しているかどうかを確認するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-27 15:13:11632ブラウズ

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

Go での浮動小数点数からの整数値の決定

Go では、float64 が整数を表すかどうかを決定することが課題となることがあります。モジュロ演算子 (%) は浮動小数点数では直接使用できません。

解決策 1: Float64 を同等の整数と比較する

数値が int64 に収まる場合は、比較することを検討してください。 float とその変換された整数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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。