golang에서는 돈을 표현하기 위해 float64 또는 십진 라이브러리를 사용할 수 있습니다.
golang에서 부동 소수점 숫자 유형인 float64는 가장 일반적으로 사용되는 숫자 유형 중 하나이며 이를 사용하여 돈을 나타낼 수 있습니다. 기본적인 계산과 비교만 필요하다면 float64를 사용하는 것이 좋은 선택입니다. 예:
var price float64 = 19.99 var total float64 = price * 2 fmt.Println(total) // 39.98
위 예에서는 float64 유형의 가변 가격을 선언하고 19.99로 초기화했습니다. 그런 다음 가격 * 2를 사용하여 총 가격을 계산하고 그 결과를 total에 할당했습니다. 마지막으로 total 값인 39.98을 인쇄합니다.
그러나 부동 소수점 숫자에는 정밀도 문제가 있다는 점에 유의해야 합니다. 예:
var price float64 = 0.1 var total float64 = price * 0.2 fmt.Println(total) // 0.020000000000000004
위의 예에서는 float64 유형 변수 가격을 선언하고 0.1로 초기화했습니다. 그런 다음 가격 * 0.2를 사용하여 총 가격을 계산하고 그 결과를 total에 할당했습니다. 마지막으로 total 값을 인쇄하고 결과는 0.020000000000000004입니다. 이는 부동 소수점 숫자의 정밀도 문제로 인해 발생하므로 돈을 다룰 때에는 정밀도가 더 높은 십진 라이브러리를 사용하는 것이 좋습니다.
golang의 10진수 라이브러리는 더 높은 정밀도를 제공하므로 부동 소수점 숫자로 인한 정밀도 문제를 효과적으로 방지하여 돈을 더 잘 표현할 수 있습니다. 예:
import "github.com/shopspring/decimal" func main() { price := decimal.NewFromFloat(19.99) total := price.Mul(decimal.NewFromInt(2)) fmt.Println(total) // 39.98 }
위의 예에서는 십진수 라이브러리를 사용하고 해당 Mul() 메서드를 인용하여 총 가격을 계산했습니다. 또한 NewFromFloat() 메서드와 NewFromInt() 메서드를 사용하여 십진수 유형 변수를 생성합니다. 결과 값은 10진수 값으로 수치 정밀도 10의 24승에 해당하므로 정확도에 영향을 주지 않음을 보장할 수 있습니다.
Summary
golang에서는 float64나 십진수 라이브러리를 사용하여 돈을 표현할 수 있습니다. 기본적인 계산과 비교만 필요하다면 float64를 사용하는 것이 좋은 선택입니다. 그러나 부동 소수점 숫자에는 정밀도 문제가 있다는 점에 유의하는 것이 중요합니다. 더 높은 정밀도가 필요한 경우 십진 라이브러리를 사용하는 것이 더 나은 선택입니다. 돈을 다룰 때에는 정확성 문제로 인한 오류를 피하기 위해 정확성 문제에 특별한 주의를 기울이십시오.
위 내용은 golang은 돈을 어떻게 표현하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!