-3

我想检查双精度值是否有指数。没有Math我可以确定的使用方法。我不想将其转换为字符串然后使用indexOf()orcontains()方法。

提前致谢。

4

1 回答 1

4

在内部,所有双打都以相同的方式表示。(它们都有二进制指数,尽管你看不到这些。)

它们是否用指数打印只是一个格式问题。测试双精度本身是否有指数是没有意义的。测试它是否用指数格式化的正确方法是采用字符串表示并使用str.contains("E") || str.contains("e").

您可以使用格式字符串DecimalFormat对象来控制如何将双精度转换为字符串。例如,String.format("%f", 9.7561E-4)(带指数的数字)返回字符串0.000976(无指数)。

于 2013-10-17T08:44:38.773 回答