Рассчитать двойной с добавлением 0,1 дает много чисел за точкой - PullRequest
0 голосов
/ 16 июня 2019

У меня проблема с вычислением с помощью Double in Flutter.

Это мой код:

двойная глубина = 0,5;

                        RoundIconButton(
                          icon: FontAwesomeIcons.plus,
                          onPressed: () {
                            setState(() {
                              depth = depth + 0.1;
                            });
                          },
                        ),

Результат указывается в текстовом поле

                    Text(
                      depth.toString(),
                      style: kBigTextstyle,
                    ),

Когда я нажимаю кнопку «плюс», отображается:

0,6

, затем 0,7

ru, а затем 079999999999999

Но это должно быть 0,8

                              depth = depth + 0.10000;

двойная глубина = 0,5;

                        RoundIconButton(
                          icon: FontAwesomeIcons.plus,
                          onPressed: () {
                            setState(() {
                              depth = depth + 0.1;
                            });
                          },
                        ),

Результат указывается в текстовом поле

                    Text(
                      depth.toString(),
                      style: kBigTextstyle,
                    ),

Я ожидаю, что выход 0,7 + 0,1 будет 0,8, но фактический выход составляет 0,7999999

1 Ответ

1 голос
/ 16 июня 2019

Вместо записи

depth.toString ()

пожалуйста, напишите

depth.toStringAsFixed(1)

...