注册 登录
编程论坛 J2EE论坛

求教:在jsp中,double形数据如何写才能保留两位小数?

aling503 发布于 2005-10-14 17:00, 2535 次点击
例如:
double f1,f2,f3,f4,
String s1
运算
t1=f1+f2+f3+f4;
得到t1的值,然后
s1=String.valueOf(t1);
最后输出结果,,,s1

请问,我要怎么做才能让s1只保留两位小数,,像货币形的值一样?
5 回复
#2
wyq032005-10-14 17:35
double price = 0.684000000003; DecimalFormat df = new DecimalFormat( ".##"); System.out.println( df.format( price ) ); 这样应该可以
#3
aling5032005-10-17 17:16
我把它改成了这个:
DecimalFormat  s1  =  new  DecimalFormat(  ".00");  
System.out.println(  s1.format(  t1  )  );  

运行后,出现错误:
An error occurred at line: 79 in the jsp file: /users/but/GJStsCal1.jsp
Generated servlet error:
/users/www/WebServer/Tomcat5028/work/Catalina/localhost/_/org/apache/jsp/users/but/GJStsCal1_jsp.java:194: cannot resolve symbol
symbol  : class DecimalFormat
location: class org.apache.jsp.users.but.GJStsCal1_jsp
DecimalFormat  s1  =  new  DecimalFormat(  ".00");  
^

请教!
#4
aling5032005-10-18 13:00
后来写成:
out.print((double)((int)((t1+0.005)*100))/100);

目前测试,还没出现什么问题,
#5
疯子java2005-10-20 17:03
没有看见错误吗?DecimalFormat  不能确定呀,好像要引入import java.text.*;好像是这个,记不清了
#6
末代地主2005-11-20 16:46
可以用java.math.BigDecimal类来四舍五入。这种方法应该相对简单些
1