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没财富值了,先谢谢大神了
展开
5个回答
展开全部
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);
自己测试下
展开全部
这是源码
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]);
}
}
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]);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)};
}
//把一个浮点数强制类型转换为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
展开全部
嘛意思三点水是阿三 撒啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
妈呀!太难了!小学六年级飘过。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询