Boa tarde pessoal,

Gostaria de dividir um numero em duas partes, exemplo o numero 14 

a primeira variável assume o numero 1 e a segunda variável assume o numero 4;

Como tenho mais facilidade com matemática que com programação fiz da seguinte forma:

com o exemplo do numero 14 

void setup()
{
Serial.begin (9600);

}

void loop ()
{
int num1 = (14/10);
Serial.println(num1);
// como é uma variável do tipo int, armazenará somente o numero 1

float num2 = ((14/10.0)-num1)*10.0;
Serial.println(num2);
// trabalhando agora com uma variável do tipo float, o numero armazenado é 4 por enquanto tudo certo porem preciso desse valor em uma variável do tipo int

int intero2 = num2;
Serial.println(intero2);
// ae esta meu problema quando tendo converter float para int o valor recebido é 3 e nao 4
delay(1000);
}

Com a maioria dos numero dão certo como exemplo o numero 15, 16...

Estou errando em algo ?

Exibições: 3616

Responder esta

Respostas a este tópico

Boa tarde,

Não sei se é isto que vc quer...

void setup()
{
    Serial.begin (9600);
   

int num1 = (14/10);         
    Serial.println(num1);

int num2 = (14%10);     //Guarda o resto em num2
  Serial.println(num2); 
}


void loop ()
{


}

Obs.: O operador " " de resto da divisão não funciona com variáveis tipo float.

Abs.

Mauricio, não conhecia esse operador

Muito Obrigado, já fazia uns dias que estava batendo cabeça nisso 

Não tem de que, fico a disposição.

Abs.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço