Olá galera.
Estou com o seguinte problema:
tenho uma variável do tipo float que recebe um valor com varias casas decimais, preciso pegar este valor e coloca-lo em uma outra variável com apenas 3 casas decimais. Porque posteriormente vou concatenar este valor em uma String. Preciso concatenar este valor em uma String porque preciso primeiro formar uma frase completa para depois ser imprimida (no casso transmitida via Xbee), e esta mensagem não pode ser dividida em pedaços porque irá ter vários dispositivos xbee comunicando ao mesmo tempo e o xbee coordenador tem que processar a mensagem por completa,então se ela se for enviada por pedaços a mensagens iram se misturar.
Para mostrar melhor o que preciso irei colocar um código simples explicando o que preciso e o que não estou conseguindo fazer.
Supondo que o (float a) e o (float b) sejam o resultado de leitura de 2 sensores e que eu necessite fazer uma operação de divisão entre os dois valores. é importante que o resultado dessa operação tenha 3 casas decimais. Após ter esse resultado neste formato devo encapsular o mesmo em uma frase para ser transmitida de uma vez. Fiz o seguinte código para ilustrar:
float a = 0.267489489573;
float b= 0.48249204902;
float res=0;
String mensagem="";
void setup(){
Serial.begin(9600);
}
void loop(){
res= a/b;// o problema é que esta operação está me retornando um valor com apenas duas casas
// decimais res= 0.55, necessito que o mesmo tenha 3 casas decimais res=0,554.
mensagem +=" o resultado: ";
mensagem += res;
mensagem += " cuidado, perigo!";
Serial.println(mensagem);
mensagem="";
delay(1000);
}
o problema é que esta operação está me retornando um valor com apenas duas casas decimais res=0.55, necessito que o mesmo tenha 3 casas decimais res=0,554. para depois encapsular este resultado em uma frase para depois imprimi-la por completa, conforme o código acima.