Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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 如果我将小数点后2位的浮点值转换为两倍,是否会失去精度?_Java_Android_Floating Point Precision - Fatal编程技术网

Java 如果我将小数点后2位的浮点值转换为两倍,是否会失去精度?

Java 如果我将小数点后2位的浮点值转换为两倍,是否会失去精度?,java,android,floating-point-precision,Java,Android,Floating Point Precision,在我的应用程序中,我有一个字段,它只接受小数点后2位的数字。我想将这个浮点数转换为双精度,所以即使我只使用小数点后2位,也会导致精度损失吗?谢谢 从一个浮点数转换为一个双精度可能会暴露出已经存在的不精确性,但它永远不会丢失数据。可能是@LouisWasserman的重复,我将只处理由最多2位小数组成的数字。这还会导致不精确吗?浮点和双精度都不会存储带小数点的数字,因为它们是以二进制形式存储的。不能将例如0.1完全表示为二进制分数。如果要精确存储十进制数,必须使用BigDecimal。

在我的应用程序中,我有一个字段,它只接受小数点后2位的数字。我想将这个浮点数转换为双精度,所以即使我只使用小数点后2位,也会导致精度损失吗?谢谢

从一个浮点数转换为一个双精度可能会暴露出已经存在的不精确性,但它永远不会丢失数据。可能是@LouisWasserman的重复,我将只处理由最多2位小数组成的数字。这还会导致不精确吗?浮点和双精度都不会存储带小数点的数字,因为它们是以二进制形式存储的。不能将例如0.1完全表示为二进制分数。如果要精确存储十进制数,必须使用BigDecimal。