Go에서 부동 소수점 숫자의 정수 값 결정
Go에서는 float64가 정수를 나타내는지 결정하는 것이 어려울 수 있습니다. 모듈로 연산자(%)는 부동소수점에서 직접 사용할 수 없습니다.
해결책 1: Float64와 동등한 정수 비교
숫자가 int64에 들어갈 수 있으면 비교를 고려하세요. 변환된 정수가 있는 float 값:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!