📌

【Go】 Decimal型の使い方 (メモ)

2022/07/30に公開

Decimalとは

簡単にいうと少数を扱うときに使われる型です。細かい使い方はここにまとまっています。
https://pkg.go.dev/github.com/shopspring/decimal

float型との違い

一般的に少数を扱うときに使われる型としてfloat型があります。float型とdecimal型との違いは、計算の精密さです。厳密な計算が求められるときにfloatでなくdecimal型が使われることがあります。

float型を用いた場合
func main() {
	f1 := 0.1
	f2 := 0.7
	f3 := f1 + f2

	fmt.Print(f3)
}

result
0.7999999999999999
decimalを用いた場合
func main() {
	x := decimal.NewFromFloat(0.1)
	y, _ := decimal.NewFromString("0.7")

	x = x.Add(y)
	fmt.Println(x)
}

result
0.8

floatの知識が浅いので、もう少し記事を追加します、、、

Discussion