Я пытаюсь исправить десятичную ошибку, сгенерированную в моей программе.
Например, у меня есть код: -
void main() {
double a = 300;
double b = 150;
double c = 33.33;
double d = 100;
//sum is exact 583.33
double average = (a+b+c+d)/4;
print(average);
print(average*4);
//I want to get back the original sum
}
Это дает результаты: -
145.83249999999998
583.3299999999999
Как показано выше, я хотел вернуть исходную сумму, равную 583,33, но когда я умножил среднее значение на 4, я получил 583,3299999999999, что является небольшой ошибкой, но эта ошибка вызывает проблемы с моей программой.
Как это исправить?