【发布时间】:2020-08-20 16:50:13
【问题描述】:
如何在 Java 中更改 double 的科学记数法但保留数据类型?我知道DecimalFormat,我不想打印要输出的值。我想将它作为双重而不是科学记数法沿管道传递。例如,我希望 2000000000000 作为双精度而不是 2.0E12 的形式。到目前为止,我发现的每个解决方案都将其转换为长小数或大小数或字符串。是否可以将其保留为双精度?
【问题讨论】:
-
“沿着管道传递”是什么意思?只要 Java 中的值“保持”不变,位模式仍然是相同的(
1000.0与10e2相同,1e3与1000e0相同)。科学记数法只是一种(反)序列化格式。 -
@Turing85 在管道的最后,它被发送到一个 HTML 页面并显示为科学计数法。我无权访问管道的那部分,所以我不能在那里更改它。我想在它生成时更改它。
-
那你就不能保留为
double。反序列化值的一方决定了格式。 -
没有。
double的位模式保持不变。反序列化double(即将double转换为String)的过程会改变它。 -
所以你试图解决一个问题,你不负责。将
double转换为HTML 字符串的人负责输出格式。
标签: java java-8 double scientific-notation