lord99 писал(а):Если display=9, то условие выполнится во всех разрядах (см. скрин)
Вот именно. Вам же это не нужно?
Давайте поэтапно.
Необходимо определить, как будет отображаться число.
Есть несколько вариантов, опишу три (но их больше):
1. Точка всегда фиксированная, стоит в каком-то из разрядов. Например, есть три разряда (максимальное число 999), допустим, во втором всегда стоит точка. Тогда максимальное число - 99.9, и тут делать ничего не надо, просто добавляем во втором разряде свечение точки. Именно подобный способ использовался в примере, который взят за основу.
2. Точка не фиксирована, но после неё фиксированное число знаков. То есть, можно отобразить числа 1.0, 99.2, но нельзя 1.02 и т. д. Если оговорить, что число выравнивается вправо, то это станет вариант 1.
3. Точка не фиксирована, но после неё отображается столько знаков, сколько влезет. Чем это отличается от второго варианта? Тем, что число 9.489 во втором варианте отобразится как 9.4 или 9.5 в зависимости от выбранного варианта округления, а в третьем - как 9.48, если мы добавим 1, то 10.4, если добавим ещё 100, то 110. Если нули не отображать и выравнивание вправо, то у чисел 9.0000 и 110.489 точка стоит в одном и том же разряде, так как они отобразятся как 9. и 100.
Как должно отображаться число у Вас?