我想检查双精度值是否有指数。没有Math
我可以确定的使用方法。我不想将其转换为字符串然后使用indexOf()
orcontains()
方法。
提前致谢。
在内部,所有双打都以相同的方式表示。(它们都有二进制指数,尽管你看不到这些。)
它们是否用指数打印只是一个格式问题。测试双精度本身是否有指数是没有意义的。测试它是否用指数格式化的正确方法是采用字符串表示并使用str.contains("E") || str.contains("e")
.
您可以使用格式字符串或DecimalFormat对象来控制如何将双精度转换为字符串。例如,String.format("%f", 9.7561E-4)
(带指数的数字)返回字符串0.000976
(无指数)。