java,就是有一个小数,我想分别输出整数部分和小数部分,整数部分好解决。

小数部分,我也想只输出0.以后的整数部分。我想的是先用一个double类型保存小数部分,然后用Double.toString转化成String类型,然后输出String从... 小数部分,我也想只输出0.以后的整数部分。我想的是先用一个double类型保存小数部分,然后用Double.toString转化成String类型,然后输出String从第2位往后的数,但在String a = new String(Double.toString(y));比如y=0.4,结果a=0.399999999999999这是怎么回事啊。还有用这个方法合适吗,sorry没财富值了,先谢谢大神了 展开
 我来答
sunnyhh_花
推荐于2017-11-25 · 超过24用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:68.8万
展开全部
Double d = 0.432;

  String str = d.toString();

  String arr[] = str.split("[.]");

  //整数部分就是数组的第一个

  String zhengshu = arr[0];

  System.out.println(zhengshu);

  //小数部分就是数组的第二个

  String xiaoshu = arr[1];

  //截取第二个及以后的数据

  String shuchu = xiaoshu.substring(1);

  

  System.out.println(shuchu);
自己测试下
Mr_陈帅康
2013-06-04 · TA获得超过1338个赞
知道小有建树答主
回答量:300
采纳率:75%
帮助的人:136万
展开全部
这是源码
public class TestSplit {
public static void main(String[] args) {
double d = 0.45;
//将double类型转换为String类型

String s = Double.toString(d);
//以小数点把它们分割

String []a = s.split("[.]");

//第一个数组也就是小数点前的数字

System.out.println(a[0]);
//第二个数组也就是小数点后的数字
System.out.println(a[1]);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吴栋8169
2013-06-05 · TA获得超过771个赞
知道小有建树答主
回答量:913
采纳率:65%
帮助的人:251万
展开全部
private String[] divide(double num){
//把一个浮点数强制类型转换为long型,既得到它的整数部分
long zheng = (long)num;
//浮点数减去部分,得到小数部分,小数部分乘以100后再取整得到两位小数
long xiao = Math.round((num - zheng) * 100);
return new String[]{zheng + " ",String.valueOf(xiao)};
}
追问
你这不对啊,你这只能处理小数部分只有两位的。再多了怎么处理啊
追答
我这是随机产生小数,要多少就乘以en(10的n次方)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-04
展开全部
嘛意思三点水是阿三 撒啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
13...6@qq.com
2013-06-04
知道答主
回答量:20
采纳率:0%
帮助的人:5.3万
展开全部
妈呀!太难了!小学六年级飘过。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式