1
何かのためにパーセンテージを出すために分ける必要がある2つの整数変数があります。私は(variablea/variableb)* 100を持っています。問題は、(variablea/variableb)が0と1の間にあるため、intであるため0に丸められます。答えが必ずしも0ではないように、どうすれば丸めることができますか?カーネルモジュールの除算
何かのためにパーセンテージを出すために分ける必要がある2つの整数変数があります。私は(variablea/variableb)* 100を持っています。問題は、(variablea/variableb)が0と1の間にあるため、intであるため0に丸められます。答えが必ずしも0ではないように、どうすれば丸めることができますか?カーネルモジュールの除算
お試し(variablea * 100)/variableb
これは結果を切り捨てます。あなたがに最も近いに最も近い場合は、(variablea * 100 + variableb/2)/variableb
とすることができます。あなたはより多くの小数点以下の桁数を取得したい場合
最後に、代わりに100
のあなたが1000
や10000
などの定数を使用することができます(単に印刷する場合、すなわち、正しく番号をフォーマット10
か100
ことによってそれを拡大縮小することを忘れないでください)。
あるいは「variablea * 10000/variableb」さえ、その結果を百分率の100倍とみなします。たとえば、 'printf("結果は%d。%02d% "、結果/ 100、結果%100)です。 – wallyk