java保留两位小数5种方法

142 篇文章 2 订阅


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小凡vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值