首页 > 解决方案 > Java double 避免科学记数法但保留数据类型

问题描述

如何在 Java 中更改 double 的科学记数法但保留数据类型?我知道DecimalFormat并且我不想打印要输出的值。我想将它作为双重而不是科学记数法沿管道传递。例如,我想2000000000000作为双精度而不是2.0E12. 到目前为止,我发现的每个解决方案都将其转换为长小数或大小数或字符串。是否可以将其保留为双重?

标签: javajava-8doublescientific-notation

解决方案


double不编码任何格式信息,只编码值。默认情况下,格式化由 Double.toString 控制,或者将值插入 HTML 页面的代码可能正在使用格式化程序。

一种选择是将您的替换double为带有double字段但具有执行所需操作的 toString 方法的包装类的实例。要进行算术运算,请访问该double字段。HTML 页面管道,查找不是标准类之一的引用变量,可能会调用其 toString 来格式化值。


推荐阅读