我有一个简单的任务,将1除以10的幂n,其中n值是动态的。我需要将结果保存在double变量中。在除数的值为1000000之前,双精度变量正确显示为0.000001。除数的值大于6的零时,以double形式保存的值将以指数形式保存(科学格式,例如:1E-8)。我如何解决此问题,因为double变量在转换为json时会以0发送回。
我不能做的事情:
1)无法使用字符串,因为在我使用的外部Jar中将变量定义为double。我无法更改字段的类型。大多数格式化程序使用String。
2)我无法控制除数的位数。在某些情况下,也可能超过15位数字。
3)处理从对象转换的所有代码都是由杰克逊完成的,因此我无法对此进行控制。
最佳答案
采用
double mydouble = 12345678;
System.out.printf("mydouble: %f\n", mydouble);
这将打印出来
mydouble: 12345678.000000
取自:-How to print double value without scientific notation using Java?