0
点赞
收藏
分享

微信扫一扫

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 




原文链接:




如果在前台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 条评论