Как выводить данные в инженерных единицах.

turob
Offline
Зарегистрирован: 18.09.2015

Привет Всем!

Помогите кто может пожалуйста,неполучается вывести данные с датчика в 'экспоненциальной форме'

Тип данных <Float>выводит 0,00055 а мне нужно выводить в формате 55Е-3

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а пересчитать и выводить в нужной форме?

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Есть более другая функция dtostre, я только что нагуглил. For ex. http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#ga6c140bdd3b9bd740a1490137317caa44

ЗЫ Я её сам не юзал

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

jeka_tm пишет:

а пересчитать и выводить в нужной форме?

Зачем, когда есть функция dtostre?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

я он ней не знал, предложил как можно сделать

turob
Offline
Зарегистрирован: 18.09.2015

Спасибо всем кто ответил.

Дело втом,что я выводил данные с датчиков с ПЛК в Delphi ... (valword/4096*10-9.3),ffExponent,2,1);

А сейчас снимаю сигналы с аналогового входа платы "Arduino Uno" и никак не получается перевести в Экспоненциальную форму

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Не понял, dtostre не работает?

Datak
Offline
Зарегистрирован: 09.10.2014

turob пишет:
Тип данных <Float>выводит 0,00055 а мне нужно выводить в формате 55Е-3

Во-первых, 0,00055 - это 55Е-5

Во-вторых, если я правильно помню, в 'экспоненциальной форме' правильно будет 5.5Е-4.
Первая цифра должна быть больше или равна 1, но меньше 10. Проще говоря, слева от запятой должна быть только одна цифра.

Но это я так, пофлудить. По теме уже до меня всё сказали. :)

 

turob
Offline
Зарегистрирован: 18.09.2015

Да, Вы все правильно написали.Я хотел просто формат показать на запятые внимание не обратил.Спасибо.

turob
Offline
Зарегистрирован: 18.09.2015

Спасибо,что написали.Вы знаете я наС++ не очень.Если не трудно не смогли бы Вы скинуть какой нибудь пример для считывания с аналогового входа Arduino в этом формате.Спасибо.