当前位置: 代码迷 >> Java相关 >> 求解一个问题!
  详细解决方案

求解一个问题!

热度:120   发布时间:2007-10-14 22:28:46.0
求解一个问题!
编写一个方法,显示小数点后面指定个数的数字。这个方法的签名如下所示:
public static double format(double number,int numOfDigits)
例如,format(10.3422345)返回10.34
搜索更多相关的解决方案: 求解  

----------------解决方案--------------------------------------------------------

public class demo{
public static void main (String[] args) {
double dd= format(2.36256,4);
System.out.println(dd);
}
public static double format(double x,int y){
int zhengshu=(int)x;
double dd=x-zhengshu;
for (int i=0;i<y;i++){
dd = dd*10;
}
int dd1 = (int)dd;
double xiaoshu = dd1;
for(int i=0;i<y;i++){
xiaoshu=xiaoshu/10;
}
double dreturn = zhengshu+xiaoshu;
return dreturn;
}
}


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
果然是个好算法!!收藏一下!!!
----------------解决方案--------------------------------------------------------
是个思路!
----------------解决方案--------------------------------------------------------

不错,谢了!


----------------解决方案--------------------------------------------------------

不错!


----------------解决方案--------------------------------------------------------
[CODE]class FormatNum{
public static double format(double x,int y){
Pattern p=Pattern.compile("\\d+.\\d{"+y+"}");
String strnum=String.valueOf(x);
Matcher m=p.matcher(strnum);
if(m.find()){
strnum=strnum.substring(m.start(),m.end());
}
return Double.parseDouble(strnum);
}
}[/CODE]
正则表达式。
----------------解决方案--------------------------------------------------------
回复:(huwangvs)[CODE]class FormatNum{ pu...
受教了,谢谢!
我对JAVA的类库并不是很熟悉。
----------------解决方案--------------------------------------------------------
另一种算法,简单些么?呵呵,当然正则算法还是首选啦
class Double{
public static void main(String[] args){
double d=2.55334132451;
int q=5;
System.out.println(d+" format "+formatDouble(d,q));
}

protected static double formatDouble(double x,int y){
for(int i=0;i<y;i++){
x=x*10;
}
double x2=(int)x;
for(int i=0;i<y;i++){
x2=x2/10;
}
return x2;
}
}

[此贴子已经被作者于2007-10-17 11:25:17编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案