double s = 1234567890123456.1d
System.out.println("ss="+s);    //打印出来的值为ss=1.234567890123456E15我想打印出来的值为1234567890123456.1,请问double进入科学计数法后怎么得到原来输入的值?

解决方案 »

  1.   

    好像现在的jdk支持格式表达式了,类似c语言的printf("%d,%f",1,1.002)。
    但我没用过。
      

  2.   

    public PrintStream printf(String format,
                              Object... args)使用指定格式字符串和参数将格式化的字符串写入此输出流的便捷方法。 
    调用此方法的 out.printf(format, args) 形式,行为与以下调用完全相同:      out.format(format, args) 
    参数:
    format - 在格式字符串的语法中描述的格式字符串
    args - 格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。针对 null 参数的行为依赖于 conversion。 
    返回:
    此输出流 
    抛出: 
    IllegalFormatException - 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、对给定格式字符串而言不够充足的参数或其他非法条件。有关所有可能的格式错误的规范,请参阅 formatter 类规范的详细信息部分。 
    NullPointerException - 如果 format 为 null
    从以下版本开始: 
    1.5 就是这个了,System.out.printf。