java保留两位小数5种方法


struts2标签内计算取小数点后两位

方法一

如果在前台jsp页面要显示 两位小数 

可以

先在java文件 中定义一个方法

例如 

format.class

	public String formatDouble(double s) {
		DecimalFormat fmt = new DecimalFormat("##0.0");
		return fmt.format(s);
	}

format.jsp中引用这个方法即可


<s:property value="%{formatDouble(#bean.selfRisk)}" />

方法二

<pre name="code" class="java"><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<fmt:formatNumber value="${值}" pattern="#0.00(格式)" />
例如: <fmt:formatNumber value="${planEffort/3600 }" pattern="#0.00"/>这样就可以实现struts2标签计算并保留指定小数点的功能了.

 
 




后台计算的五种方法

第一种

    BigDecimal bg = new BigDecimal(f);
        double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println(f1);

第二种

  DecimalFormat df = new DecimalFormat("#.00");
        System.out.println(df.format(f));

第三种

  System.out.println(String.format("%.2f", f));

第四种

 NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(2);
        System.out.println(nf.format(f));


第五种

float price=89.89;
int itemNum=3;
float totalPrice=price*itemNum;
float num=(float)(Math.round(totalPrice*100)/100);//如果要求精确4位就*10000然后/10000


例子

其中四种的例子:

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class format {
    double f = 111231.5585;
    public void m1() {
        BigDecimal bg = new BigDecimal(f);
        double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println(f1);
    }
    /**
     * DecimalFormat转换最简便
     */
    public void m2() {
        DecimalFormat df = new DecimalFormat("#.00");
        System.out.println(df.format(f));
    }
    /**
     * String.format打印最简便
     */
    public void m3() {
        System.out.println(String.format("%.2f", f));
    }
    public void m4() {
        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(2);
        System.out.println(nf.format(f));
    }
    public static void main(String[] args) {
        format f = new format();
        f.m1();
        f.m2();
        f.m3();
        f.m4();
    }
}

结果:
111231.56
111231.56
111231.56
111,231.56 



原文链接:

http://blog.csdn.net/ming1683/article/details/3195058



如果在前台jsp页面要显示 两位小数 

可以

先在java文件 中定义一个方法

例如 

format.class

	public String formatDouble(double s) {
		DecimalFormat fmt = new DecimalFormat("##0.0");
		return fmt.format(s);
	}

format.jsp中引用这个方法即可

<

s:property value="%{formatDouble(#bean.selfRisk)}" />


你可能感兴趣的:(java,double,float)