| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 918 人关注过本帖
标题:求解一个问题!
只看楼主 加入收藏
晨风lxj
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-9-13
收藏
 问题点数:0 回复次数:10 
求解一个问题!
编写一个方法,显示小数点后面指定个数的数字。这个方法的签名如下所示:
public static double format(double number,int numOfDigits)
例如,format(10.3422345)返回10.34
搜索更多相关主题的帖子: 求解 
2007-10-14 22:28
canyue
Rank: 1
等 级:新手上路
威 望:1
帖 子:159
专家分:0
注 册:2007-10-4
收藏
得分:0 

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;
}
}


别看我现在只有这么亮,总有一天会月圆的!
2007-10-14 23:08
heheli
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-1-14
收藏
得分:0 
2007-10-15 08:30
wcbts520
Rank: 1
等 级:新手上路
帖 子:86
专家分:7
注 册:2007-10-11
收藏
得分:0 
果然是个好算法!!收藏一下!!!
2007-10-15 13:49
魔鬼之子
Rank: 1
来 自:地狱之都
等 级:新手上路
帖 子:100
专家分:0
注 册:2007-9-22
收藏
得分:0 
是个思路!

只有仇恨才是永恒的
2007-10-16 09:21
晨风lxj
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-9-13
收藏
得分:0 

不错,谢了!

2007-10-16 12:27
qazwsx123456
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-6-29
收藏
得分:0 

不错!


飞的最高的鹰靠的不是翅膀而是坚定的信念!!!
2007-10-16 12:41
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 
[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]
正则表达式。
2007-10-16 15:46
canyue
Rank: 1
等 级:新手上路
威 望:1
帖 子:159
专家分:0
注 册:2007-10-4
收藏
得分:0 
回复:(huwangvs)[CODE]class FormatNum{ pu...
受教了,谢谢!
我对JAVA的类库并不是很熟悉。

别看我现在只有这么亮,总有一天会月圆的!
2007-10-16 22:17
batwyx
Rank: 1
等 级:新手上路
威 望:1
帖 子:88
专家分:0
注 册:2007-4-16
收藏
得分:0 
另一种算法,简单些么?呵呵,当然正则算法还是首选啦
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编辑过]


2007-10-17 11:20
快速回复:求解一个问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034595 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved