我想将BigDecimal转换为字符串用于打印目的,但打印出所有数字而没有科学记数法。例如:格式BigDecimal没有完全精确的科学记数法
BigDecimal d = BigDecimal.valueOf(12334535345456700.12345634534534578901);
String out = d.toString(); // Or perform any formatting that needs to be done
System.out.println(out);
我想获得12334535345456700.12345634534534578901打印。现在我得到:1.23345353454567E + 16。
'的System.out.println(出);''没有的System.out.println(输出);' – 2013-04-05 13:16:10
部分即使在值传递给BigDecimal构造函数之前,问题是'12334535345456700.12345634534534578901'被截断为'1.23345353454567E + 16',因为代码中的常量double值没有那么高的精度。您可以通过简单地尝试将其存储在“double”变量中并将其打印出来进行验证:http://ideone.com/j5FKp1。如果您需要额外的精度,您需要以值作为字符串开始。 – mellamokb 2013-04-05 13:17:19