要求不要丢失精度,不要科学记数法

解决方案 »

  1.   

    String.value()不知道行不行。
      

  2.   

    给你double变量后面 +“”
    比如:double dNum=1.234
    String str = dNum+“”;
      

  3.   

    String.valueOf(d)
      

  4.   

    bigdecimal呢 
      

  5.   

    这种要算法的java区还真找不出几个能回答你问题的
      

  6.   

    big decimal 也会失去一定的精度
      

  7.   

    big decimal 也会失去一定的精度

    bigdecimal应该可以,如果丢失精度,说明你的double本身就已经丢失了精读(因为bigdecimal的精度理论比double高)BigDecimal.valueOf(your_double).toPlainString();
      

  8.   

    字面值+""都能转成String类型,String.valueOf()也可以,或者使用StringBuilder、Stringbuffer都可以转换
      

  9.   

    double本身就肉眼看到的就很长一串的
      

  10.   

    阿里规约规定 【强制】小数类型为 decimal,禁止使用 float 和 double。 说明:float 和 double 在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不 正确的结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数分开存储。