ホームページ > バックエンド開発 > Golang > Go で長い 16 進数文字列を切り捨て 10 進数に変換するにはどうすればよいですか?

Go で長い 16 進数文字列を切り捨て 10 進数に変換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-10 22:10:12
オリジナル
1005 人が閲覧しました

How to Convert a Long Hexadecimal String to a Truncated Decimal in Go?

16 進数文字列から切り捨て 10 進数へ

長い 16 進数文字列を 10 進表記に変換するのは、特に結果の数値が範囲を超える場合に困難になることがあります。 int64の。この問題に対処するために、Golang は math/big パッケージを提供しています。

変換例

次の 16 進文字列を考えてみましょう:

"0x00000000000000000000000000000000000000000000d3c21bcecceda1000000"
ログイン後にコピー

math/big を使用

変換するにはmath/big を使用してこの文字列を作成するには、次の手順に従います。

import "math/big"

s := "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000"
i := new(big.Int)
i.SetString(s, 16)

// Convert result to decimal (using %f formatting)
fmt.Printf("%f", i)
ログイン後にコピー

小数点以下の桁数の切り捨て

小数点以下 18 桁に切り捨てるには、次の形式文字列を使用します。

%018.18f
ログイン後にコピー

例出力

上記のコードの出力は、小数点以下 18 桁でフォーマットされ、次のようになります。

1000000000000000000.000000
ログイン後にコピー

math/big パッケージは、TextMarshaler および fmt.Scanner インターフェイスもサポートしていることを覚えておいてください。文字列との変換。

以上がGo で長い 16 進数文字列を切り捨て 10 進数に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート