读书人

小有关问题吧。int 变化

发布时间: 2011-12-15 23:41:24 作者: rapoo

小问题吧。。。。int 变化
在JSP页面里,有一个int = 747526
是一个金额来着,我要把它变成748 (千元) 怎么做哈???

[解决办法]
数位数吧,然后再看百位大于等于5的进一
[解决办法]
取道百位数字做一个判断,如果百位数字大于等于零小于5就只显示千位以上
如果大于等于5小于等于9就给千位进一位就行了
[解决办法]
public int toThousand(int i){
if(i>0){
if(i>=1000){
int r=i/1000;
int t=i%1000;
if(t>499) r+=1;
return r;
}
return 1;
}
return 0;
}
[解决办法]
除1000.00,得一long型数
math类里有个四舍五入的方法
[解决办法]
钱的计算用BigDecimal,这样不会存在误差

Java code
    public static void main(String[] args) {        int i = 747526;        //变成千元        double qian = (double)i/1000;        System.out.println(qian);        //四舍五入        BigDecimal bigValue = new BigDecimal(qian);        double money = bigValue.setScale(0, BigDecimal.ROUND_UP).doubleValue();        System.out.println(money);    }
[解决办法]
http://hi.baidu.com/ccraise/blog/item/2c83e0efd79f4015fdfa3ca9.html
[解决办法]
<%
int x= 747526 ;
int y = (int)Math.round(747526/1000.0);
out.println(y+"千元");
%>
[解决办法]
int y = 45345;
if(y%1000>=500){
System.out.println(y/1000+1+"千元");
}else{
System.out.println(y/1000+"千元");
}
[解决办法]
碰到这类问题,楼主应该尝试自己动手做做的,不是很难,有笨方法,当然想学习的更多的话应该去查下API的,或者说是在提问之前自己没有好好的google下!

[解决办法]
可以使用jstl的fmt:formatNumber,通过pattern设置输出的格式

读书人网 >Java Web开发

热点推荐