Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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精度_Java_Double - Fatal编程技术网

如何提高java精度

如何提高java精度,java,double,Java,Double,我试图在java中进行Mandelbrot分形缩放,但是当缩放增加时,双精度不够,图像变得像素化,我无法放大更多。我想提高精度,或者使用另一种数据类型来实现这一点。谢谢。你可以使用这个课程 例如— BigDecimal a = new BigDecimal("0.000000000000000000000000000005"); BigDecimal b = new BigDecimal("0.06"); BigDecimal c = b.subtract(a);

我试图在java中进行Mandelbrot分形缩放,但是当缩放增加时,双精度不够,图像变得像素化,我无法放大更多。我想提高精度,或者使用另一种数据类型来实现这一点。谢谢。

你可以使用这个课程

例如—

    BigDecimal a = new BigDecimal("0.000000000000000000000000000005");
    BigDecimal b = new BigDecimal("0.06");
    BigDecimal c = b.subtract(a);
    System.out.println(c);
编辑: 您可以使用该方法控制小数点右侧的位数


这回答了你的问题吗?谢谢你!但是我可以改变精度?但是,与双倍相比,这会给你的代码带来非凡的性能冲击。大小数分配多个对象并且是不可变的,因此您正在为每个计算步骤创建新对象。@ArthurBacci我已进行了更新。看一看。
    BigDecimal p=a.setScale(29, BigDecimal.ROUND_HALF_UP);