double d = 0.0001;
String s1 = String.valueOf(d);//结果为1.0E-4
String s2 = new BigDecimal(d).toString();//结果为1.00000000000xxxxxxxxxxxxx
怎样转换才能得到正确的结果(0.0001)?
String s1 = String.valueOf(d);//结果为1.0E-4
String s2 = new BigDecimal(d).toString();//结果为1.00000000000xxxxxxxxxxxxx
怎样转换才能得到正确的结果(0.0001)?
DecimalFormat df1 = new DecimalFormat("#0.#####");
String result=df1.format(d);
import java.text.NumberFormat;
public class test1 {
public static void main(String[] args) {
double d=0.00001;
NumberFormat nf = NumberFormat.getInstance();
String s="#.#############";
nf=new DecimalFormat(s);
String ss=nf.format(d);
System.out.print(ss);
}
} ///:~不知道还有没有其他 方法
jdk1.4:参看zx2002027(希望之星)
jdk1.5:使用system的格式化输出.
{
public static void main(String aaa[])
{
double aa = 17.123;
String as = (""+aa);
System.out.println (as);
}
}
这样就可以吧
String s = ""+d;
你就这样
Double dbl = new Double(0.0000001);
String strDbl = dbl.toString();
不就行了
所以按照楼主的要求,事先不知道一个double的精度,要求这个doulbe能够准确无误的输出,
似乎是不可能的事了
难道就不能有个参数控制double不采用科学计数法吗?因此我就是想在double能够达到的精度内的任何
数值都能正确的输出成小数的形式,这个要求应该不算高吧?