小数を保持する golang の除算

PHPz
リリース: 2023-05-12 22:00:37
オリジナル
2202 人が閲覧しました

Golang で除算演算を実行する場合、両方の数値が整数型の場合、結果は整数型になります。つまり、小数部分は直接破棄され、整数部分のみが保持されます。この場合、計算結果は実際のニーズを満たせなくなります。したがって、除算演算を実行する場合、結果を処理して小数部分を保持するには、いくつかの工夫が必要です。この記事では、Golang で割り算を実行し、小数部分を保持する方法をいくつか紹介します。

1. 除算計算に浮動小数点数を使用する

Golang では、浮動小数点数型で小数を表現でき、整数型を浮動小数点数型に変換して除算演算を実行できます。 Printf 関数を使用して 10 進数を出力します。次のコード例は、浮動小数点数を使用して除算計算を実行し、小数部分を保持する方法を示しています。

a := 10.0
b := 3.0
result := a / b
fmt.Printf("%.2f", result)  //输出2位小数
ログイン後にコピー

上記のコードでは、a と b は両方とも浮動小数点数型であり、結果も浮動小数点です。数値型で、結果の小数点以下2桁の値を保持して出力します。この方法は非常に簡単ですが、その分計算効率が低く、大量のデータの計算には適していません。

2. 除算計算に型変換を使用する

除数または被除数を float64 型に変換した後、除算計算を実行します。次のコード例は、型変換を使用して除算計算を実行し、小数部分を保持する方法を示しています。

a := 10
b := 3
result := float64(a) / float64(b)
fmt.Printf("%.2f", result)  //输出2位小数
ログイン後にコピー

上記のコードでは、a と b が float64 型に変換され、結果の値は除算計算によって取得されます。 、最終的に結果は次のようになります。値は小数点以下 2 桁まで保持されて出力されます。この方法は浮動小数点方法よりも計算効率が高くなりますが、それでも多少複雑です。

3. 割り算の計算には数学ライブラリを使用する

Golang の数学ライブラリには、割り算を含む浮動小数点数を計算するためのさまざまな関数が用意されています。次のコード例は、数学ライブラリを使用して除算計算を実行し、小数部分を保持する方法を示しています。

a := 10.0
b := 3.0
result := math.Round(a/b*100) / 100
fmt.Printf("%.2f", result)  //输出2位小数
ログイン後にコピー

上記のコードでは、 math.Round 関数を使用して最も近い整数を返し、小数点以下 2 桁を保持しています。 。この方法は 2 番目の方法よりも単純で、計算効率が高くなります。

まとめ

Golang で除算演算を実行するときは、小数部分の保持に注意する必要があります。浮動小数点数、型変換、数学ライブラリなどさまざまな方法で実装できますが、実際のアプリケーションでは状況に応じて最適な方法を選択できます。データ計算を行う際には、必要な機能をより良く実現するために、計算回数を減らし、計算効率を向上させるように努めてください。

以上が小数を保持する golang の除算の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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