【问题标题】:How can I round numbers (2 decimal) parseXml get(field) in Android如何在 Android 中舍入数字(十进制 2)parseXml get(field)
【发布时间】:2014-03-07 12:46:42
【问题描述】:

TextView.setText(XMLdata.get("XMLField") + "mm");

以缩写方式表示的输入值:

10,5858555966668(带逗号)

我想转换成:

10,58

【问题讨论】:

  • 类似yourNumber.setScale(3, BigDecimal.ROUND_HALF_UP);?

标签: android decimal rounding parsexml


【解决方案1】:

如果您的XMLdata.get("XMLField") 值为float,您可以执行以下代码

String finalValue = String.format(
                    "%.2f", XMLdata.get("XMLField"));

TextView.setText(finalValue + " mm");

如果您的XMLdata.get("XMLField")String,则将其转换为float,请执行上述方法。

【讨论】:

    【解决方案2】:

    TextView.setText((Math.floor(MathXMLdata.get("XMLField") * 100.0) / 100.0).toString() + " mm");

    这会将10,5858555966668 转换为1058,58555966668,将其四舍五入为1058 并将其转换回10,58

    注意:Math.floor 总是向下舍入(删除所有缺失的小数)。如果您打算四舍五入到最接近的值,请使用Math.round

    【讨论】:

      【解决方案3】:

      谢谢你,非常感谢 rmkrishna 和 Faro((= 我这样做了

      TextView.setText(String.format("%.2f",Double.parseDouble(XMLData.get("Son7GunlukSagis").replace(",", ".")))+ "mm");

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-26
        • 1970-01-01
        • 2011-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多