1. ホーム

[解決済み】javaで小数点以下2桁に丸める?[重複している]。

2022-04-17 21:02:27

質問

スタックオーバーフローの質問をたくさん読みましたが、どれも私のために働いていないようです。 math.round() で四捨五入しています。 これがそのコードです。

class round{
    public static void main(String args[]){

    double a = 123.13698;
    double roundOff = Math.round(a*100)/100;

    System.out.println(roundOff);
}
}

という出力が得られます。 123 しかし、私はそれが 123.14 を追加すると書いてありました。 *100/100 が、ご覧の通り、うまくいきませんでした。

入力と出力の両方がダブルであることが絶対条件です。

上のコードの4行目を変更して投稿していただけると大変助かります。

解決方法は?

まあ、これはうまくいくのですが...。

double roundOff = Math.round(a * 100.0) / 100.0;

出力は

123.14

あるいは @Rufein が言ったように

 double roundOff = (double) Math.round(a * 100) / 100;

をクリックすると、同様に実行されます。