Мне нужно сделать зеркалирование известного домена (границы являются алгебраическими числами) на языке Java.Зеркалирование числа в Java, между указанным доменом
Домен находится между этими двумя номерами, где 50 - это зеркало (50 должно быть исключено, 50 = 50)! Зеркалирование должно быть в обоих направлениях (см. Примеры).
0 ________ 50 ________ 100
То, что я хочу, чтобы достичь это
Например:
double x = 20; //x is my input number
double mirrorX = newnumber_mirrored; //mirrorX is the number mirrored in the specified domain, so if the x is 20, the output must be 80.
//other examples:
//input x = 45, output = 55
//input x = 48, output = 52
//input x = 50, output = 50
//input x = 50.1, output = 49.9
//input x = 67.4, output 32.6
Как я могу добиться этого в Java? Может быть точность 1 или, возможно, 2 десятичных знака, или, может быть, полная точность.
Используйте тот факт, что '50 - х = mirrorX - 50'. Используйте «BigDecimal», если вам нужна полная точность. – johnchen902
Вы изучаете * алгебру *? – devnull
Позор мне. Я не думал, что это может быть так просто. Во-первых, я был замешан в десятичной точности и обратном порядке. Итак, я согласен с тобой - мне нужно снова пройти курс алгебры. –