android - 在 Android 中四舍五入到小数点后两位

标签 android math decimal

我知道应该很简单,但我无法在任何地方找到答案。我试图四舍五入到小数点后两位,所以如果我的答案是 164.9835,我希望答案显示为 164.99。但由于某种原因,到目前为止我将其四舍五入为 164.98。

非常感谢任何帮助。

            double number1 = Double.parseDouble(num1.getText().toString());
            double number2 = Double.parseDouble(num2.getText().toString());
            double number3 = Double.parseDouble(num3.getText().toString());
            double number4 = Double.parseDouble(num4.getText().toString());
            double sum = (((number1 * number2)/1000)*0.5)*(number3 - number4);
            total.setText (String.format("£%s", new java.text.DecimalFormat("##.##").format(sum)));

最佳答案

如果要四舍五入可以用这个方法

cantDecimal = 2; 数字 = 164.9835

public static double aroundUp(double number, int canDecimal) {
    int cifras = (int) Math.pow(10, canDecimal);
    return Math.ceil(number * cifras) / cifras;
}

返回 = 164.99

额外:数学中的 Ceil 方法。 ceil 方法给出大于或等于参数的最小整数。

关于android - 在 Android 中四舍五入到小数点后两位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52066934/

相关文章:

android - 在 Android 的 Gallery 中模仿 iOS 的 "rubber band"效果

c++ - C++ 中的稀疏非负最小二乘

math - 缩放事件后计算 map 的新中心

c++ - 有什么方法可以使用 boost 库实现 Excel LINEST 函数?

android - 为什么android.arch.navigation 会导致Program type already present : android. support.v4.os.ResultReceiver$1?

java - 为什么远程服务器上的签名验证比设备上的签名验证更安全?

Python:将多个十六进制值的字符串转换为整数

c# - 指数 0 值的十进制解析 (0+E3)

ios - 不使用 Swift 显示小数

android - 当用户停止在 android 中的 fragment viewpager 中滑动时加载数据?