@NogerbekNurzhan

Как в GO сравнить два *float64 значения между собой?

Здравствуйте, товарищи! Помогите пожалуйста разобраться.

Есть две переменные. Назовем их GLOBAL_PERCENT и LOCAL_PERCENT. Значение в них динамические. Оба имеют тип данных *float64.

Задачи:
1) Если значение в переменной "LOCAL_PERCENT" меньше 5 по сравнению с значением в переменной GLOBAL_PERCENT, то вывести на консоль слово RED.
2) Если значение в переменной LOCAL_PERCENT меньше на 1-5 по сравнению с значением в переменной GLOBAL_PERCENT, то вывести на консоль слово YELLOW.
3) Если значение в переменной LOCAL_PERCENT больше 5 по сравнению с значением в переменной GLOBAL_PERCENT, то вывести на консоль слово GREEN.

Попытка использования нижестоящего кода вызвала ошибку. Ошибка: operator < not defined on *float64. Встает вопрос как корректно сравнить два *float64 значения между собой в языке программирования Golang?

if LOCAL_PERCENT < GLOBAL_PERCENT * 0.95 {
	println("RED")
} else if LOCAL_PERCENT > GLOBAL_PERCENT * 0.95 {
	println("GREEN")
} else {
	println("YELLOW")
}
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
Zarom
@Zarom
Мастер на все руки из жопы
*float64 это указатель на тип float64
Для получения указателя на которое ссылается указатель, необходимо произвести операцию разименовывания. Делается это через оператор *
if *LOCAL_PERCENT < *GLOBAL_PERCENT
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
15 окт. 2019, в 17:38
5000 руб./за проект
15 окт. 2019, в 17:15
7000 руб./за проект