При попытке запустить следующий фрагмент:
void main() {
double step = 0.1;
double currentAmount = 1;
while (currentAmount < 2) {
currentAmount = currentAmount + step;
print (currentAmount);
}
}
Результат выглядит следующим образом:
1.1
1.2000000000000002
1.3000000000000003
1.4000000000000004
1.5000000000000004
1.6000000000000005
1.7000000000000006
1.8000000000000007
1.9000000000000008
2.000000000000001
Может ли кто-нибудь сказать мне, почему десятичные дроби появляются как таковые, и является ли это нормальное поведение?