のような小さな倍精度数値を出力しようとしています6.67e-11
が、Double.toString() を使用すると が返されます0
。代わりに 6.67e-11 (または同様のもの) を出力するにはどうすればよいですか?
1492 次
1 に答える
2
再現できません:
public class Test {
public static void main(String args[])
{
double d = 6.67e-11;
System.out.println(Double.toString(d)); // Prints "6.67E-11"
}
}
IIRC はDouble.toString()
常に、 を使用して正確な値を往復できる文字列を返しますDouble.parseDouble()
。
私の推測では、実際には小さな値ではなく、他の操作での丸め誤差のために 0 になっていると思います。
于 2010-12-12T13:03:05.517 に答える