android-要求只显示小数点后两位

问题描述

要求只显示小数点后两位

得到GTotal的值,举例: 179.257856

但是要求只显示小数点后两位,也就是这样: 179.25

    @Override
    protected void onResume()
    {
        super.onResume();
        if (Constants.mItem_Detail.size() == 0)
        {
            return;
        }

        Double mGTotal = Double.parseDouble(Constants.mItem_Detail.get(0).get(SingleProductActivity.KEY_TOTAL));
        for (int i = 1; i < Constants.mItem_Detail.size(); i++)
        {
        mGTotal = mGTotal + Double.parseDouble(Constants.mItem_Detail.get(i).get(SingleProductActivity.KEY_TOTAL));
        }
        mGrandTotal = String.valueOf(mGTotal);
        mTxtViewGrandTotal.setText(mGrandTotal);
        myTextVeiwGrandTotal.setText(mGrandTotal);
        mTotal = String.valueOf(Constants.mItem_Detail.size());
        mItems.setText(mTotal);

}
}

解决方案

你已经完成的差不多了,我想加上下面的代码就行了。

 mTxtViewGrandTotal.setText(new DecimalFormat("##.##").format(mGTotal));

完整的方法就是:

   @Override
    protected void onResume()
    {
        super.onResume();
        if (Constants.mItem_Detail.size() == 0)
        {
            return;
        }

        Double mGTotal = Double.parseDouble(Constants.mItem_Detail.get(0).get(SingleProductActivity.KEY_TOTAL));
        for (int i = 1; i < Constants.mItem_Detail.size(); i++)
        {
        mGTotal = mGTotal + Double.parseDouble(Constants.mItem_Detail.get(i).get(SingleProductActivity.KEY_TOTAL));
        }
        mGrandTotal = String.valueOf(mGTotal);
        mTxtViewGrandTotal.setText(mGrandTotal);
        myTextVeiwGrandTotal.setText(mGrandTotal);
        mTxtViewGrandTotal.setText(new DecimalFormat("##.##").format(mGTotal));
        mTotal = String.valueOf(Constants.mItem_Detail.size());
        mItems.setText(mTotal);

}

解决方案二:

建议使用:DecimalFormat("#0.00")。因为使用“##.##”时如果你的数字刚好是“180.00”时调整的结果将没有小数位“180”,
如果你的数字是0.25时将没有前面的0,结果显示为“.25”。如果你的数字刚好是一列显示就存在格式不统一的问题,所以建议使用“#0.00”,
其中的“0”表示没默认值。

解决方案三:

Decimalformat

DecimalFormat df = new DecimalFormat("#.##");
System.out.println(df.format("179.257856"));// which gives result as 179.25
时间: 2024-11-05 16:26:19

android-要求只显示小数点后两位的相关文章

保留小数点位数-double保留小数点后两位的问题,跪求大神详解

问题描述 double保留小数点后两位的问题,跪求大神详解 图片下边为对应的后台代码. 图片中的合计怎么 小数点后边那么多位?求大神详解. private double heji1=0; private double heji2=0; private double heji3=0; private double heji4=0; public String get() throws Exception { this.init(); ruKu = dao.get(id); return SUCCE

double 类型保留小数点后两位,求大神指导

问题描述 double 类型保留小数点后两位,求大神指导 图片下边为对应的后台代码. 图片中的合计怎么 小数点后边那么多位?求大神详解. private double heji1=0; private double heji2=0; private double heji3=0; private double heji4=0; public String get() throws Exception { this.init(); ruKu = dao.get(id); return SUCCES

excel怎么快捷地将所有数据保留小数点后两位?

  excel怎么快捷地将所有数据保留小数点后两位?在大数据时代,数据需要被系统,快捷地被分类和计算,那么在excel中怎样才能快捷地将所有数据保留两位小数,今天小编来给大家分享一下. 步骤 这是小编随意输入的原始数据,可以看到有数据有小数点后三位,有的有一位小数,有的没有小数.总之数据很参差不齐. 选中需要保留两位小数的数据后,单击"开始"选项卡下面的"数字组"中的对话框启动器(数字组右下角),弹出"设置单元格格式"对话框. 在"数字

调整小数的格式保留小数点后两位_javascript技巧

在开发过程中经常遇到要调整小数的格式,如保留小数点后两位等等.方法也颇为常见,备忘如下. 第一种,利用math.round var original=28.453 1) //round "original" to two decimals var result=Math.round(original*100)/100; //returns 28.45 2) // round "original" to 1 decimal var result=Math.round(

JavaScript 获取任一float型小数点后两位的小数_javascript技巧

用Javascript取float型小数点后两位,例22.127456取成22.13,如何做? 1.这种方法最不推荐: function get(){ var s = 22.127456 + ""; var str = s.substring(0,s.indexOf(".") + 3); alert(str); } 2. 使用正则表达式获取: function get(){ var a = "23.456322"; var aNew; var r

【java】java处理随机浮点数(小数点后两位)用RMB的大写数值规则输出

晚上上床前,拿到这个有意思的问题,就想玩弄一番: ============================================================================ 规则:[随机浮点数按照RMB读法写出] 总代码如下: package com.sxd.test; import org.junit.Test; import java.text.DecimalFormat; import java.util.Random; /** * @Author SXD *

正负小数点后两位浮点数实现原理及代码_jquery

背景:项目中需要做个对两位小数点的正负浮点数的处理, 要求:非数字或者.字符自动清除,并对.12自动修补.前的0 原理:在输入框中加入两个事件,keyup与blur,keyup处理字符串中非要求的字符,blur中对最终字符串处理成理想的格式111.11 实现:通过七个正则处理掉主功能 val代表输入的字符串 /^\d*\.?\d{0,2}$/ 验证val是否是ddd.dd的格式,是则不处理,否才处理 /[^.0-9]+/ 处理掉val中所有的非数字与.的字符 /(?:\d*\.\d{0,2}|\

java中double类型变量保留小数点后两位的问题

代码为 double rate1 = 0.290625; //四舍五入保留两位小数 BigDecimal df = new BigDecimal(rate1); double rate2 = df.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //rate2打印结果为0.29 import java.text.*; DecimalFormat df=new DecimalFormat(".##");double d=1252.

Java如何取double小数点后两位(四舍五入)

问题描述 如题,有方法的最好先测试一下.DecimalFormatdf=newDecimalFormat("#.00");用这个方法不行,有兴趣的可以测试一下这个数字:doublex=25470.085;用Math.round也不行,因为Math.round(-11.5)=-11而不是-12(当然此处可以自己封装一个方法,判断正负,但是希望能有更简单的方法) 解决方案 解决方案二:doublea=12.34564;doubleb=Math.round(a*100);System.out