Android - 小数点后2位

goo*_*odm 133 double android decimal rounding

可能重复:
将小数点后的双精度数加到2位有效数字

我知道有很多关于如何围绕这种数字的例子.但有人可以告诉我如何圆双,获得我可以显示为字符串的值,并总是有2位小数?

Ole*_*eGG 436

你可以使用String.format("%.2f", d),你的双倍将自动舍入.

  • 小心Locale.在法语(加拿大),它将使用逗号而不是小数.像这样强制区域设置(示例):`String.format(Locale.CANADA,"%.2f",d)` (19认同)
  • 更安全的方法是使用DecimalFormat.使用您的方法有一个选项,在某些国家/地区格式化将出错,作为开发人员,您可能永远不会注意到,并且可能不愿意检查.更好的方法是这样做:DecimalFormat percentageFormat = new DecimalFormat("00.00"); String finalPercentage = percentageFormat.format(percentage); (18认同)
  • 是的,我正在寻找,但应该是:String.format("%.2f",d),谢谢 (9认同)
  • 如果你在某些语言环境中搞砸了.那么这将是最好的解决方案:`Double rounded = new BigDecimal(myDouble).setScale(2,RoundingMode.HALF_UP).doubleValue();` (3认同)

jer*_*515 11

一个简单的方法:

    Double d;
    Int i;
    D+=0.005;
    i=d*100;
    Double b = i/100;
    String s = b.toString():
Run Code Online (Sandbox Code Playgroud)

  • 这绝不容易.虽然大拇指试试. (9认同)