Point2D Double не хранит двойной - PullRequest
       6

Point2D Double не хранит двойной

0 голосов
/ 19 сентября 2018

Итак, я работаю над классом треугольников и хочу использовать Point2D.Double для хранения точек с высокой точностью.

import java.awt.geom.Point2D.Double;

public class Triangle {

private Double pointOne = new Double();
private Double pointTwo = new Double();
private Double pointThree = new Double();
private final float PERCISION = 0.009f;

public Triangle(double x1, double y1, double x2, double y2, double x3, double y3)
{
    pointOne.x = x1;
    pointOne.y = y1;
    pointOne.setLocation(x2, y2);
    pointOne.setLocation(x3, y3);

}

public Double getPointOne() 
{
    return pointOne;
}

public Double getPointTwo() 
{
    return pointTwo;
}

public Double getPointThree() 
{
    return pointThree;
}

Однако, когда я проверяю его в основном и вводим код ниже, он печатает координаты, но с очень низкой точностью.Я пытался использовать float, но он всегда заканчивается одним и тем же результатом.

    Triangle tri = new Triangle( 0.0000, 0.0000, 2.0008, 0.0000, 0.0000, 2.0000);

    System.out.println("Point 1 coordinates: (" + tri.getPointOne().getX() + ", " + tri.getPointOne().getY() + ")");
    System.out.println("Point 2 coordinates: (" + tri.getPointTwo().getX() + ", " + tri.getPointTwo().getY() + ")");
    System.out.println("Point 3 coordinates: (" + tri.getPointThree().getX() + ", " + tri.getPointThree().getY() + ")");

Вот то, что он печатает на всякий случай, если вам это нужно.

Координаты точки 1: (0.0, 2.0)

Координаты точки 2: (0,0, 0,0)

Координаты точки 3: (0,0, 0,0)

В идеале это то, что я хотел бы распечатать.

Координаты точки 1: (0,0000, 2.0008)

Координаты точки 2: (0,0000, 0,0000)

Координаты точки 3: (0,0000, 0,0000)

1 Ответ

0 голосов
/ 19 сентября 2018

для пользовательского форматирования десятичной дроби

https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html

Редактировать: Я неправильно понял Ваш вопрос!Забудьте, что я сказал о примитивах, но вам может потребоваться выполнить некоторое форматирование

...