LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: LuísR.A. em 16 de Agosto de 2013, 00:31
-
Estou a tentar converter um "float" para um "string".
Tento usar String(); mas apenas aceita inteiros.
Posso fazer int=float, mas assim perco as casas decimais.
Alguem sabe como posso resolver isto?
-
E se multiplicar por 10^n, sendo n o numero de casas decimais que quer manter antes de guardar na string.
Quando quiser tirar da string faz o inverso, pegando no float e divide por 10^n.
-
E se multiplicar por 10^n, sendo n o numero de casas decimais que quer manter antes de guardar na string.
Quando quiser tirar da string faz o inverso, pegando no float e divide por 10^n.
Já fiz isso mas é um bocado dificil ler os valores. Para alem de serem grandes não se tem noção onde está o algarismo das unidades
-
Está a imprimir num display? Pode introduzir manualmente a virgula fazendo o print assim:
"%d,%d", var/10^n, var%10^n
-
Vê lá se existe esta função: ftoa
Ou ainda: snprintf
-
Para formatação de numeros das duas uma, ou uso um sprintf, ou então um ftoa, tal como o Njay já disse.