有什么方法可以将科学表示法转换为Java中的固定表示法。
目前,我有以下代码:

DecimalFormat dfmt=new DecimalFormat("######:#######");
print(dfmt.format((new BigDecimal((Math.pow(10,-3)*3000),MathContext.Decimal64)).stripTrailingZero()));


上面的代码确实将科学计数法转换为固定计数法,但是,如果结果大于零,则将忽略小数位。
在上面的示例中,它打印3;而不是3.0

最佳答案

使用模式0.0

BigDecimal d = new BigDecimal("12345678901234567890"); // large integer
System.out.println(new DecimalFormat("0.0").format(d));


输出(在我的语言环境中):

12345678901234567890.0

关于java - 使用DecimalFormat在Java中将科学计数法转换为固定计数法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10686493/

10-09 07:27