[英]Format a double to 6 decimal places precision
我想将double值格式化为6位精度而不进行舍入。
格式化为6位小数后的预期值
20790123833965.960938
我尝试过使用十进制格式
DecimalFormat formatter = new DecimalFormat("#0.000000");
System.out.println(formatter.format(hashValue) );
我得到了这个
20790123833965.960000
正如@Benoit在评论中已经说过,为了保持数字的完整精度,你需要一个BigDecimal
:
BigDecimal hashValue = new BigDecimal("20790123833965.960938");
DecimalFormat formatter = new DecimalFormat("#0.000000");
System.out.println(formatter.format(hashValue));
输出:
20790123833965.960938
使用此代码,它将工作。
public class JavaFormatter {
public static void main(String args[]) {
BigDecimal hashValue = new BigDecimal("20790123833965.960938");
DecimalFormat formatter = new DecimalFormat("#.######");
System.out.println(formatter.format(hashValue));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.