0
javaで簡単な計算をしています。期待される結果は51.3348ですが、私が得ているのは51.0です。私の計算はjava-小数点以下の桁で結果を取得しない
float percent = (7819140000l-3805200000l)*100/7819140000l;
この問題はデータ型に問題がありますか?どのように私は、これは51.3348
として値を取得するために解決することができアドバンス
に感謝
この式では浮動小数点数を使用していないため、切り捨てられています。 – Kelvin
浮動小数点型へのキャストも可能です。 – Shahid
このonepublicを試してみてください。format_Decimal(double decimalNumber){ \t \t NumberFormat nf = NumberFormat.getInstance(); \t \t nf.setMaximumFractionDigits(5); \t \t nf.setMinimumFractionDigits(2); \t \t nf.setRoundingMode(RoundingMode.HALF_UP); \t \t文字列x = nf.format(decimalNumber); \t \t return x; \t} double percent =(7819140000l-3805200000l)* 100f/7819140000l; –