>백엔드 개발 >Golang >Go에서 Float64를 Int로 우아하게 변환하는 방법은 무엇입니까?

Go에서 Float64를 Int로 우아하게 변환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-10 10:05:15853검색

How to Elegantly Convert Float64 to Int in Go?

Go에서 Float64를 Int로 변환: 우아한 접근 방식

Go에서 부동 소수점 값으로 작업할 때 이를 다음으로 변환하는 작업은 정수가 발생할 수 있습니다. strconv 패키지는 문자열과 다양한 데이터 유형 간의 변환을 제공하지만 문자열이 아닌 유형 간의 직접 변환은 부족합니다.

Int Cast를 사용한 직접 변환

한 가지 우아한 솔루션은 다음과 같습니다. int 캐스트 연산자를 사용합니다. float64 변수를 가장 가까운 정수 표현으로 안전하게 변환합니다. 아래 예를 살펴보세요.

import "fmt"

func main() {
  var x float64 = 5.7
  var y int = int(x)
  fmt.Println(y) // outputs "5"
}

이 코드에서는 값이 5.7인 float64 변수 x를 생성합니다. 변수 y는 int로 선언되고 int 형변환을 사용하여 x 값을 할당합니다. 결과는 y가 정수 값 5를 보유하여 x의 소수 부분을 효과적으로 절단한다는 것을 보여줍니다.

Sprintf와의 비교

int 캐스트는 다음을 위한 직접적이고 효율적인 방법을 제공합니다. float64를 int로 변환하면 fmt.Sprintf를 통한 중간 문자열 변환이 필요하지 않습니다. 이 접근 방식은 변환 프로세스를 간소화하고 부동 소수점 산술 제한으로 인한 잠재적인 데이터 손실을 방지합니다.

결론

Go에서 float64를 int로 편리하고 정확하게 변환하려면, int 캐스트 연산자가 최적의 선택으로 나타납니다. 이 일반적인 데이터 변환 작업에 대한 간단하고 효율적인 솔루션을 제공합니다.

위 내용은 Go에서 Float64를 Int로 우아하게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.