関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。忘れない内にメモメモ。。。
以下の記事で Go で 他の言語 の decimal みたいなライブラリとして github.com/shopspring/decimal
があるのを知りました。
自分の手で一度サンプル書いてみないと使い方とは理解できないので、以下にサンプルです。
サンプル
package floatop import ( "github.com/devlights/gomy/output" "github.com/shopspring/decimal" ) // UsingDecimalPkg は、小数点計算を github.com/shopspring/decimal パッケージを利用して処理するサンプルです。 // // # REFERENCES // - https://engineering.mercari.com/blog/entry/20201203-basis-point/ // - https://github.com/shopspring/decimal // // # SEE ALSO // - examples/basic/floatop/rounding_error.go func UsingDecimalPkg() error { var ( v = decimal.RequireFromString("0") ) for i := 0; i < 1000; i++ { v = v.Add(decimal.RequireFromString(".01")) } output.Stdoutl("[result]", v.StringFixed(1)) return nil }
実行すると以下のようになります。
$ task task: Task "build" is up to date task: [run] ./try-golang -onetime ENTER EXAMPLE NAME: floatop_using_decimal_pkg [Name] "floatop_using_decimal_pkg" [result] 10.0 [Elapsed] 450.31µs
参考情報
big package - math/big - Go Packages
decimal --- 十進固定及び浮動小数点数の算術演算 — Python 3.12.0 ドキュメント
Goのおすすめ書籍
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。