Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中将字符串(如0d-2或9.9d-1)转换为浮点数0.00或0.99_Java - Fatal编程技术网

如何在java中将字符串(如0d-2或9.9d-1)转换为浮点数0.00或0.99

如何在java中将字符串(如0d-2或9.9d-1)转换为浮点数0.00或0.99,java,Java,我得到的值为0d-2或9.9d-1。java中是否有任何函数可以直接将其转换为0.00或0.99等数字。首先,您可以拆分字符串: String separator = "d"; String[] split = "9.9d-1".split(separator); 然后计算结果: Double result = Double.valueOf(split[0]) * Math.pow(10, Integer.valueOf(split[1])); 请注意,在将字符串解析为数字时,此代码可能会引

我得到的值为0d-2或9.9d-1。java中是否有任何函数可以直接将其转换为0.00或0.99等数字。

首先,您可以拆分字符串:

String separator = "d";
String[] split = "9.9d-1".split(separator);
然后计算结果:

Double result = Double.valueOf(split[0]) * Math.pow(10, Integer.valueOf(split[1]));

请注意,在将字符串解析为数字时,此代码可能会引发异常;在访问拆分[0]或拆分[1]时,此代码可能会引发IndexOutOfBoundException。

由于这是一种自定义格式,因此没有用于此代码的内置函数。Float是一个二进制数,其中不包含有关其精度的小数位数的信息。0和0.00是相同的浮点值。d字符串不是正则表达式,泰国名称有误导性。像分离器这样的东西应该更合适是的,我同意。编辑完成!