Позиционирование цифр
- Войдите на сайт для отправки комментариев
Пт, 24/11/2017 - 18:33
Здравствуйте форумчате.
Есть вопросик от чайника.
При выводе на ОЛЕД дисплей значения напряжения 9,9 и 10,0 указывается координата "х" и "у" верхнего пикселя позиционирования. Но если значения плавают (при нормальной работе) то изображение цифр дергается туда - сюда. Можно ли как то из например переменной типа float взять отдельно первую цифру, вторую и третью дабы спозиционировать их отдельно.
Решений. как всегда, несколько.
- Чтобы цифры всегда были на одном месте - возьмите моноширинный фонт.
- если хотите выводить разряды по отдельности - умножьте число на 10, а потом целочисленно поделите на 10 и возьмите целую часть и остаток. Кстати. заодно можно будет избавится от параметров типа float. заменив их целыми, что благотворно скажется на коде
Математический вариант я рассматривал, в перспективе. Но хотелось бы без особо хитроумной арифметики. А что значит "возьмите моноширинный фонт." .. Я испльбзовал бибилиотеку U8glib . ПОдскаже как это реализовать ? Или надо другую бибилиотеку ?
Математический вариант я рассматривал, в перспективе. Но хотелось бы без особо хитроумной арифметики.
блин, ну что за тупняк! вся хитроумная арифметика - это 3 строчки
действительно тупняк.
При присвоении значения от переменной типа float к переменной типа int , последняя отбирает целоую часть. Я правильно понял ?
При присвоении значения от переменной типа float к переменной типа int , последняя отбирает целоую часть. Я правильно понял ?
попробуйте.
С учётом того что значение может быть 12.3 получилось вот так. А далее когда первыя цифра снавится "0" нулём я её заменяю символом пробела. Потом раскидываю каждую на своё место, и теперь они не прыгают. =)
Так что всё получилось. Спасибо вам b707