Formatting double to 2 decimals doesn't work

后端 未结 4 1203
旧时难觅i
旧时难觅i 2021-01-20 04:34

I want to round this double:

3.499999999999999

to:

3.50

And I already used these two methods:

<         


        
4条回答
  •  鱼传尺愫
    2021-01-20 05:09

    Your first solution is really, really close. Just do this:

        DecimalFormat df = new DecimalFormat("0.00");
        System.out.println(df.format(input));
    

    The reason your version doesn't work is that you're taking the input double, formatting it as a String with 2dp, but then converting it back to a double. System.out.println is then printing the double as it always would, with no special decimal-place rules.

提交回复
热议问题