java保留两位小数5种方法

来源:互联网 发布:c语言学习网站 编辑:程序博客网 时间:2024/06/01 10:55


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)}" />


0 0
原创粉丝点击