Float Variable kürzen/abschneiden
-
Sehr geehrte Community,
Ich beschäftige mich gerade mit dem Einstieg in C - Bedingt duch meine Ausbildung als Mechatroniker.
Nun lese ich über eine Funktion GetBatteryVoltage() die Spannung eines Batteriepacks aus. Diese wird in milliVolt zurückgegeben und anschließend durch 1000 dividiert damit ich Volt habe. Dieser Wert kann also z.B. 4.532 Volt sein.
Der Code dazu
float voltage; voltage=GetBatteryVoltage()/1000;
Ich brauche nun den Wert VOR dem Komma in einer Variable (lässt sich ja durch
unsigned int vorkomma; vorkomma=(int)voltage;
erreichen. Wie kann ich jetzt die erste Stelle nach dem Komma auslesen?
(Zur Erklärung: Die "ganzen" Volt werden auf einer LED Zeile dargestellt, die 1/10 Volt auf einer LED Zeile daneben)
Vielen Dank für euere Hilfe,
mfg RiFl
-
Wenn du den Wert mit 10 multiplizierst, landet die erste Nachkommastelle vor dem Komma - danach kannst du sie ganz einfach isolieren:
int nachkomma = (int)(10*voltage) % 10;
-
Hallo und Danke,
dann hab ich die Nachkommerstelle vor dem komma, sprich die Zahl schaut dann so aus: 45,32
Über die Umwandlung zum Intenger heißt sie dann 45 - aber wie bekomm ich nun den 4er davor weg? Kann man die Variable einfach um Stellen davor oder danach kürzen?mfg RiFl
-
Hi
das hat er ja schon mit dem Modulo-Operator (%) gemacht. Deine 45 wird durch 10 dividiert und der Rest wird dann zurückgegeben. Dann haste deine 5, da 45/10 = 4 Rest 5.