Я хотел бы знать, есть ли в C ++ способ рассчитать пропорцию, включающую возможно отрицательные значения как в переменных, так и в экстремальных значениях.
Моя цель - синхронизировать виджет ввода текста с плавающей запятой с фиксированными крайностями (например, пользователь может ввести любое двойное значение между A (min) и B (max) с A, B = any_constant_real_number) с помощью ползунка, который может скользить только между 0 и 100 (для упрощения).
Если A и B положительны, все тривиально. как
val_slider = ((val_textin-A) * 100) / (B-A)
но поскольку A и B можно считать реальными, мне кажется, что единственная возможность состоит в том, чтобы использовать несколько выражений if /, или огромные формулы, включающие много функций abs (), и проверять деления на 0, чьи ошибки и очень дорого по сравнению с такой простой задачей.
Есть ли какой-нибудь более быстрый и короткий способ добиться того же в c / c ++ / stl?
Простите за мой плохой английский. Любой намек? Спасибо.