double类型如何正确的转换为字符串类型?

supersuyogi 2006-03-17 06:37:59
double d = 0.0001;
String s1 = String.valueOf(d);//结果为1.0E-4
String s2 = new BigDecimal(d).toString();//结果为1.00000000000xxxxxxxxxxxxx
怎样转换才能得到正确的结果(0.0001)?
...全文
707 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
supersuyogi 2006-03-22
  • 打赏
  • 举报
回复
那0.1为什么就能转为0.1,而不会转成1.0E-1呢?
wizardblue 2006-03-22
  • 打赏
  • 举报
回复
但问题是double在计算机中就是以科学记数法存的呀
supersuyogi 2006-03-21
  • 打赏
  • 举报
回复
比方说0.0000001被转换成0.00000011,还可以理解,是损失了精度,可是被转成1.0E-7就不能接受了
supersuyogi 2006-03-21
  • 打赏
  • 举报
回复
使用double难道就没有办法了,其实0.0001被转换为1.0e-4并没有损失任何精度只是使用了科学计数法
难道就不能有个参数控制double不采用科学计数法吗?因此我就是想在double能够达到的精度内的任何
数值都能正确的输出成小数的形式,这个要求应该不算高吧?
zhkchi 2006-03-21
  • 打赏
  • 举报
回复
要求更高的精度可以使用Bigdecimal
TONYBLARED 2006-03-21
  • 打赏
  • 举报
回复
帮顶。
wizardblue 2006-03-21
  • 打赏
  • 举报
回复
楼主的要求似乎有点高了,问题是一个数被弄成double以后计算机自己是无法知道这个数的精度是有多少的,因为浮点数的表示是有误差的,
所以按照楼主的要求,事先不知道一个double的精度,要求这个doulbe能够准确无误的输出,
似乎是不可能的事了
supersuyogi 2006-03-21
  • 打赏
  • 举报
回复
你试过吗?这样的结果是"1.0E-7",而我要的结果是"0.0000001"
syhan 2006-03-21
  • 打赏
  • 举报
回复
天啊,有这么复杂吗
你就这样
Double dbl = new Double(0.0000001);
String strDbl = dbl.toString();
不就行了
jeffaple 2006-03-21
  • 打赏
  • 举报
回复
学习一下,帮顶!
supersuyogi 2006-03-21
  • 打赏
  • 举报
回复
没有人能给个好的方法吗?
hellosjz 2006-03-20
  • 打赏
  • 举报
回复
up
supersuyogi 2006-03-20
  • 打赏
  • 举报
回复
String s = ""+d;的结果也是"1.0E-4",不是"0.0001"
liang8305 2006-03-20
  • 打赏
  • 举报
回复
占位置学习
wizardblue 2006-03-20
  • 打赏
  • 举报
回复
double d = 0.0001;
String s = ""+d;
supersuyogi 2006-03-20
  • 打赏
  • 举报
回复
以上提供的都是用格式化的方法,可是如果没有提供精度如何格式化.
比如0.0001,0.000000000000000001(无论多少位)都要能正确转换,怎么办呢?
紫炎圣骑 2006-03-17
  • 打赏
  • 举报
回复
用DecimalFormat类实现格式化最合适的
做鸡真好吃 2006-03-17
  • 打赏
  • 举报
回复
Mark~
heroseaxuj 2006-03-17
  • 打赏
  • 举报
回复
class test
{
public static void main(String aaa[])
{
double aa = 17.123;
String as = (""+aa);
System.out.println (as);
}

}
这样就可以吧
jackychen_king 2006-03-17
  • 打赏
  • 举报
回复
System.out.println(Double.toString(12232.4654544646));

如果你还要格式化的化,有两种情况
jdk1.4:参看zx2002027(希望之星)
jdk1.5:使用system的格式化输出.
加载更多回复(3)

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧