Forum: Mikrocontroller und Digitale Elektronik Floatwert zu intergerwert konvertieren


von Hardware I. (bensen83)


Lesenswert?

Hallo Leute, ich habe einen PIC24 und möchte einen int wert senden, ich 
habe allerdings eine Variable, welche eine Fließkommazahl enthält. von 
dieser möchte ich lediglich die vorkommazahlen senden, also die 
Vorkommezahl in einen int variable speichern. wie bekomme ich die float 
zu einer int konvertiert?

von Jean P. (fubu1000)


Lesenswert?

Hi,
mit nem cast sollte das gehen.

float foo = ....
int fii = (int) foo;

Gruß

von Sven P. (Gast)


Lesenswert?

Sauberer wären floor(), ceil() oder round();

von Hardware I. (bensen83)


Lesenswert?

nein da bekomme ich nen Fehler, den befehl kennt er so nicht, gibts noch 
ne andere Möglichkeit?

von Mark B. (markbrandis)


Lesenswert?

1
#include <stdio.h>
2
3
int main()
4
{
5
  float a;
6
  int b;
7
  
8
  a = 6.999;
9
  b = (int)a;
10
  
11
  printf("b hat den Wert: %d\n", b);
12
  return 0;
13
}

bzw. mit floor():

1
#include <stdio.h>
2
#include <math.h>
3
4
int main()
5
{
6
  float a;
7
  int b;
8
  
9
  a = 6.999;
10
  b = floor(a);
11
  
12
  printf("b hat den Wert: %d\n", b);
13
  return 0;
14
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.