大家好:
我现在又几个整数(A,B,C,D).
计算结果:
double E=Double.parseDouble(df.format(A+B+C)/D);
我想保留两位小数,在前面写了下面两条语句:
DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
df.applyPattern("0.00");
可为什么得到的结果E却不是两位小数呢?请大家帮忙分析一下是什么原因。谢谢!
我现在又几个整数(A,B,C,D).
计算结果:
double E=Double.parseDouble(df.format(A+B+C)/D);
我想保留两位小数,在前面写了下面两条语句:
DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
df.applyPattern("0.00");
可为什么得到的结果E却不是两位小数呢?请大家帮忙分析一下是什么原因。谢谢!
解决方案 »
- myeclipse中hibernate逆向工程生产实体类问题
- 高分求助snmp4j的问题!
- 存储过程调用问题
- java中document转成XML有错
- 在线考试系统的实现,如何实现office、windows操作题的阅卷?
- 关于JSTL使用的疑问请各位指教
- weblogic console得更改中心在那?
- 方法调用问题
- 菜鸟提问:javax.naming.NameNotFoundException: Name "comp/env/Aaa" not found in context "java:".
- 为什么我在weblogic里配jdbc,用weblogic.mssqlserver4可以,而用微软的jdbc就不行。
- wap网站添加cookie的问题
- 为什么我的tomcat怎么突然运行不起来了呢?
java.text.DecimalFormat df=new java.text.DecimalFormat("#0.00");
System.out.println(df.format(e));
double e = 85463.50;
java.text.DecimalFormat df=new java.text.DecimalFormat("#0.00");
System.out.println("字符串 "+df.format(e)); //85463.50
String str = df.format(e);
System.out.println("双精度 "+Double.parseDouble(str));//85463.5
System.out.println(e); //85463.5字符串 可以输出 xxx.00
double xxxx.00是输不出来
NumberFormat nf=NumberFormat.getPercentInstance();
nf.setMinimumFractionDigits(2);
System.out.println(nf.format(E));
试 试
顶
其实这种东西 google一下一大把吧
double E=Double.parseDouble(df.format(A+B+C)/D);
报错。
#0.00");
System.out.println(df.format((260+260+235)/26));
输出的结果是29.00,怎么能得到29.04?
java.text.DecimalFormat df=new java.text.DecimalFormat("#0.00");
System.out.println(df.format((260+260+235)/26.0));
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
double e = A+B+C;
System.out.println(nf.format((e)/D));
貌似这样可以得到值为29.04,这里面要注意的是必须定义一个中间变量e = A+B+C,否则结果就为29.00,很玄乎?
double a = 6523.1584d;
a = (double) (Math.round(a * 100)) / 100;
System.out.println(a);