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 サイトの他の関連記事を参照してください。