Windowsで使用されているディスク容量の%を計算しようとしています.totaldriveは、Longのfreedrive dentoes空き領域のcドライブの合計ディスクスペースを示します。 print文は、私がlong by longを返す0
答えて
あなたはおそらくlongをlong(long/long = long)演算を参照するlongで割って、長い結果(ケース0)を与えます。
浮動小数点型のどちらかのオペランドをキャストすることで同じことができます。
Long Percentageused = (long)((float)totaloccupied/totaldrive*100);
左から右に評価されることを、最初に目的の値を取得していない午前0。誰かが助けることができ返し
Long Percentageused =(totaloccupied/totaldrive*100);
System.out.println(Percentageused);
使用量の%の計算ここで
long totaloccupied = totaldrive - freedrive;
整数除算は0を返します(たとえば、8/10は0と評価されます)。値を浮動小数点に変換するか、100 * a/bを実行します。フロートはより正確な結果を提供します。
'float'は関係する数値が大きい場合にはより正確な結果を返しません。 – paddy
あなたがしている場合(フロート)(100 * a)/(フロート)b。 2つの側面は、相対的に小さな桁で異なります。これは、最も正確な損失が発生する場所です。 –
ところで、ここですべての答えを投票してくれた人は誰でも建設的なコメントを残してください。 –
あなたは整数除算を行っています! totaloccupied
はtotaldrive
より小さいので、両方の除算は答えは0
です。あなたは最初の二重に変換する必要があります。100
に小数点を追加すると、それがdouble
として扱われることを保証
double percentageUsed = 100.0 * totalOccupied/totalDrive;
注意を。
totalOccupiedとtotalDriveの両方がlongの場合、100.0を掛けても0.0になります。 –
- 1. オーダーオーダーby long
- 2. unsigned long long VS unsigned long long int
- 3. "long"と "long int"と "long long"と "long long int"の違いは何ですか?
- 4. なぜcommon_type <long、unsigned long> :: type = long longですか?
- 5. 符号なしlong long double long
- 6. マップを反転する[Long、[Long]をマップに設定する[Long、Long]
- 7. PHPの拡張関数からunsigned long longを返す
- 8. intをunsigned long longにキャスト
- 9. DateUtilsで分を強制する方法#getRelativeTimeSpanString(long、long、long)?
- 10. foldLeft on Iterable(ストリング、(Long、Long))
- 11. Visual Studioのlong long値
- 12. 符号なしlong long int
- 13. Arrays.copyOfRange(byte []、long、long)? Javaで
- 14. 符号なしlong 0 <-1?
- 15. printf long longにするには
- 16. unsigned long longと符号なしlong(移植性の観点)
- 17. データ型がlong longに等しい最大数をlong longでサポートするのはなぜですか?
- 18. 合計メソッドがlong値を返す
- 19. C++のlong long int型のオーバーフロー/アンダーフロー
- 20. long long intへのポインタへのアクセス
- 21. Long to XMLGregorianCalendarとLongに戻る
- 22. 符号なしlong longのバイナリ表現
- 23. long longへのポインタの明示的キャスト
- 24. <pair <long long、long long>>は最初にメンバーをサポートしていませんか?
- 25. 「のunsigned long int型」と「unsigned long型long int型」割り当て問題
- 26. C++は引数 '1'〜 'long'の 'long double'を 'long double *'に変換できません。
- 27. mySQL - 'short'を 'long'に、 'long'を 'short'に変更する方法
- 28. コアデータを使用してunsigned long longを格納する
- 29. GAE、JDO主キーをLong/long型で照会する方法
- 30. (lldb)16進数のunsigned long longを出力します。
Heh。長い一日だったので、私は川の下でフロートを楽しんだ。 – cabbagery
なぜ「ロング」ではなく「ロング」を使っているの?また、 'percentageUsed'のJava命名規則を見てください。 – wchargin