| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 483 人关注过本帖
标题:数值转换求教
只看楼主 加入收藏
野蛮女人
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:827
专家分:0
注 册:2007-4-7
结帖率:100%
收藏
 问题点数:0 回复次数:6 
数值转换求教
比如一个数为1.002323 经过转换变成1.002
或者一个为0.032转换为0.03
就是保留小数点后第一个不为0的数其他的都不要

不准将其转换成字符
搜索更多相关主题的帖子: 数值 
2007-06-18 20:35
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
用DecimalFormat来转

可惜不是你,陪我到最后
2007-06-18 21:33
天涯海角
Rank: 2
等 级:新手上路
威 望:3
帖 子:507
专家分:0
注 册:2005-10-21
收藏
得分:0 
1.导入import java.text.DecimalFormat;
2.在类的构造函数或其他方法中写入 DecimalFormat df=new DecimalFormat("#####.##");
df.format(xxx);
其中:xxx--为你的浮点型数值或变量。

我的未来不是梦!
2007-06-18 21:44
野蛮女人
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:827
专家分:0
注 册:2007-4-7
收藏
得分:0 
DecimalFormat df=new DecimalFormat("#####.##");这个不行啊 它只是保留的了小数点候面的两位啊
而我的意思是
保留小数点后第一个不为0的数其他的都不要

[shadow=255,purple,5]好人不长命,祸害一万年![/shadow]
2007-06-19 08:19
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

这就需要自己来判断了

先调用toString方法,然后自己计算小数点的位置,然后再往后面取,取到第一个不为0的就停止


可惜不是你,陪我到最后
2007-06-19 09:01
野蛮女人
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:827
专家分:0
注 册:2007-4-7
收藏
得分:0 
double i=1.00036;
int k=10;
while((int)((i*k)%k)==0){
k*=10;
}
int p=(int)(i*k);
System.out.println((double)p/k);
自己搞定了 是不是很强啊

[shadow=255,purple,5]好人不长命,祸害一万年![/shadow]
2007-06-19 10:11
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

这样太复杂了,还是先转化成String方便些


可惜不是你,陪我到最后
2007-06-19 10:35
快速回复:数值转换求教
数据加载中...
 
   



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

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