Golang は人気のあるプログラミング言語ですが、その組み込みの整数除算演算子は結果を整数部分に直接切り捨てますが、初心者にとっては難しいかもしれません。では、Golang で整数の除算後に小数を取得するにはどうすればよいでしょうか?この記事では、Golang の整数の除算と小数演算について説明し、実践的な解決策を提供します。
Golang の整数除算
Golang では、整数除算演算子は「/」です。たとえば、5/2 演算の結果は 2 になります。この整数の切り捨て動作は、Golang の型システムによって決定されます。これは、除数と被除数が両方とも整数型であるため、結果も整数型である必要があるためです。
小数部を取得したい場合は、オペランドの 1 つを 5.0/2 などの浮動小数点型に変換できます。この場合、結果は 2.5 になります。
もう 1 つの解決策は、5/float64(2) などの「float64」型変換を使用することです。これにより、2.5 の結果も取得できます。
Golang 10 進演算
Golang では、10 進演算のデフォルトのタイプは「float64」タイプです。したがって、2 つの小数の加算、減算、乗算、除算には、「 」、「-」、「*」、および「/」演算子を直接使用できます。例:
var a, b, c, d float64 a = 5.0 b = 2.5 c = a + b // 结果为7.5 d = a * b // 结果为12.5
浮動小数点演算には精度の問題があるため、10 進演算を実行するときは精度の問題に注意する必要があることに注意してください。たとえば、次のような演算結果が得られます。
var a, b, c float64 a = 0.1 b = 0.2 c = a + b // 结果为0.30000000000000004
複雑な 10 進演算を行う場合は、Golang の組み込み「math」パッケージを使用する必要があります。このパッケージには、次のような一般的に使用される 10 進計算関数が含まれています。
カスタマイズされた小数除算関数コードを記述する実際のプロセスでは、自分自身や他の人が使いやすくするために、いくつかの関数をカプセル化する必要がある場合があります。したがって、整数の除算の小数部の計算を実装する関数を作成できます。例:import "math" var a float64 a = math.Sin(1.0) // 求sin(1),结果为0.8414709848078965上記の関数は、整数型の「a」と「b」を入力として受け取り、それらを除算演算用の浮動小数点型に変換します。その後、関数は「float64」型の結果を返します。 上記の対策により、Golang の整数除算でも 10 進数の結果を得ることができます。 結論Golang では、整数除算演算子を直接使用すると、結果が直接整数に切り捨てられるため、プログラミングが難しくなる可能性があります。ただし、この問題は、オペランドの 1 つを浮動小数点型に変換するか、型変換関数を使用することで解決できます。さらに、10 進演算を実行する場合は、浮動小数点数の精度に注意する必要があります。カスタムの小数除算関数を作成することも、コードをクリーンで理解しやすくするための良い解決策です。 上記の内容は、Golang における整数の除算と小数演算の基礎知識と実践的な解決策をカバーしています。この記事がお役に立てば幸いです。
以上がgolangの整数除算10進数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。