import java.text.DecimalFormat;public class SetNumberPrecision {
private String s=null;
public double setNumberPrecision(double x,int Number){
String p;
if(Number==0){
p="#0";
}
else{
p = "#0.";
for(int i=0;i<Number;i++){ // for的巧妙运用
p=p+"0";
}
}
DecimalFormat f = new DecimalFormat(p);
String s = f.format(x);
return Double.parseDouble(s);
}
}
问题:1.例如:当Number=0,x=10.0时,想要的结果是整数10,而返回的是10.0,怎样解决此问题?
2.例如:当Number=2,x=10.10时,想要返回的结果是10.10,而返回的是10.1,怎样解决此问题?
解决方案 »
- 现在MyEclipse的官网是不是上不去,我要下载都不行
- 一个java 程序
- 请问如何用JAVA读取PDF文件内容
- 从2007年5月31日开始 循环显示每个月的31日,循环10次,高手们有没有好办法
- 关于获得所选表格一行中的值的问题,大虾支招~!!
- ||||||java捕获系统热键的消息(如QQ热键)||||||||||||||||||||||||||||
- 需要下载《Struts开发实例》请进,UP可得分
- 昨天刚看Java.谁能提供标准键盘输入的例子?
- 救命:求一字符串操作函数!!!!(看到的都请进来帮一下忙)
- 如何用JAVA Swing实现一个文本编辑器的保存(savefile)功能,请高手指教!!(急,在线等待)
- java 中的 MySQL
- IO流求大神
System.out.println(s);
return Double.parseDouble(s);打印出来的s就是想到的数据,可是你又把它转换成double型就不可以了。
double是不能存10或者10.10这样的浮点数的。
不是格式化控制台System.out.printf("%.2f\n",number)也可以控制小数位的输出3.14吗
String result = Double.toString(x).split("\\.")[0];
return result;
当Number=2,x=10.10时
DecimalFormat df = new DecimalFormat(".00");
String result2 = df.format(x);
return result;
用String型保证你想要的格式,在需要用其计算的地方用Double.parseDouble(result);转回来。