INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Integer Zahl in einer, zehner, hunderter und tausender zerlegen
11.08.2015, 11:17
Beitrag #1
Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hallo zusammen,
stehe mal wieder vor einem Problem!
Möchte eine Integer Zahl, z.B. 2354, in einer, zehner, hunderter und tausender zerlegen!
Hintergrund ist der, das ich mit 4 Tastern diese Zahl einstellen möchte.
Taster 1, tausender
Taster2, hunderte
Taster3, zehner
Taste4, einer

Hat jemand eine Idee?
Danke für Eure Hilfe oder Anregungen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.08.2015, 11:37
Beitrag #2
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hi,
ist doch einfach... Variable als Integer anlegen...dann geteilt durch 10, 100, 1000
für die Anzeige und nach dem ändern mit dem Faktor wieder malnehmen und alles addieren..
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.08.2015, 11:38
Beitrag #3
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Code:
byte einer = zahl % 10;
byte zehner = (zahl / 10) % 10;
byte hunderter = (zahl / 100) % 10;
byte tausender = (zahl / 1000) % 10;

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.08.2015, 17:02
Beitrag #4
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hallo Thorsten,
danke für Deine Hilfreiche Antwort. Ist genau das was ich suchte.
(Habe aber anscheinend nicht die richtigen Schlagwörter gefunden)
Gerne sende ich ein paar Bilder oder Clips! Brauche aber noch ein wenig Zeit.

Also danke nochmal für Deine Hilfe.

Grüsse Marcel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.08.2015, 17:15
Beitrag #5
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hallo Thorsten,
anbei der versprochene Sketch und ein Bild.
Über die Taster werden die Ziffern eingestellt.
Der eingestellte Wert wird in das EEPROM gespeichert.

Danke nochmals für die Mathe Nachhilfe! Wink

// Über den Analogen Eingang werden die Taster eingelesen.
// Mit jedem Taster werden die zugehörigen Ziffern eingestellt.
// Die Funktion LCD_Refresh() aktualisiert das LCD Display und speichert
// den Zaelerwert im EEPROM als Integer (2 Byte) in die Adresse 10+11
//
// Analoge Taster an A3 (4 Taster mit Spannungsteiler)
// LCD20x4 SDA an A4
// LCD20x4 SCL an A5

#include <Wire.h> //Wird für das LCD Display benötigt
#include <LiquidCrystal_I2C.h> //Wird für das LCD Display benötigt
#include <EEPROM.h> //Wird für das Speichern ins EEPROM benötigt

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

int AE3 = 3; // Eingang Analog Tastenfeld
int AE3val; // Wert vom Analog Tastenfeld
int Zaeler; // Wert des Zaelers (wird im Eprom in Adresse 10+11 gespeichert)

void setup(){
Zaeler = (EEPROM.read(10)) + ((EEPROM.read(11)<<8)&0xFF00); // aus EEPROM lesen
lcd.begin(20,4); // initialisiert das LCD
LCD_Refresh(); // Ruft die Funktion auf
}

void loop()
{

AE3val = analogRead(AE3);

if (AE3val >= 0 && AE3val < 10){ //Taster für tausender
if ((Zaeler / 1000 % 10) == 9) {
Zaeler = Zaeler - 9000;
LCD_Refresh();
}
else{
Zaeler = Zaeler + 1000;
LCD_Refresh();
}}

if (AE3val >= 80 && AE3val < 90){ //Taster für hundeter
if ((Zaeler / 100 % 10) == 9) {
Zaeler = Zaeler - 900;
LCD_Refresh();
}
else{
Zaeler = Zaeler + 100;
LCD_Refresh();
}}

if (AE3val >= 155 && AE3val < 165){ //Taster für zehner
if ((Zaeler / 10 % 10) == 9) {
Zaeler = Zaeler - 90;
LCD_Refresh();
}
else{
Zaeler = Zaeler + 10;
LCD_Refresh();
}}

if (AE3val >= 215 && AE3val < 225){ //Taster für einer
if ((Zaeler % 10) == 9) {
Zaeler = Zaeler - 9;
LCD_Refresh();
}
else{
Zaeler = Zaeler + 1;
LCD_Refresh();
}}
}

void LCD_Refresh(){
lcd.clear();
lcd.setCursor ( 0, 0 );
lcd.print ("Zaehler: ");
lcd.print (Zaeler / 1000 % 10);
lcd.print (Zaeler / 100 % 10);
lcd.print (Zaeler / 10 % 10);
lcd.print (Zaeler / 1 % 10);
lcd.setCursor ( 0, 3 );
lcd.print("Wert:");
lcd.print(AE3val);
EEPROM.write(10,Zaeler&0xFF); // Low Byte des Zählers schreiben
EEPROM.write(11,(Zaeler>>8)&0xFF); // High Byte des Zählers schreiben
delay(120);
return;
}


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.08.2015, 17:16
Beitrag #6
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hi,
mal ne ganz blöde Frage: Wozu eigentlich?
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.08.2015, 18:07
Beitrag #7
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Baue eine Maschine die eine vorgewählte Stückzahl produzieren soll.

Blöde fragen gibt es nicht!

Gruss Marcel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Ausschaltverzögerung bei einer PV Heizung Hans_Maulwurf 27 749 29.11.2016 23:38
Letzter Beitrag: georg01
  Mehrstellige Zahl aus Keypad StB 7 232 23.11.2016 03:47
Letzter Beitrag: StB
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 300 28.10.2016 10:12
Letzter Beitrag: hotsystems
  Innenwiderstand einer Batterie (Rundzelle 1,5V) Einsteiger94 2 207 24.07.2016 11:42
Letzter Beitrag: SkobyMobil
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 538 23.04.2016 10:26
Letzter Beitrag: rkuehle
  I2C Ansteuerung einer MSM3 (elv mp3 Box) Voreifel 2 316 09.04.2016 17:56
Letzter Beitrag: Voreifel
  Problem: SDFat - Das Ende einer Datei finden und Schleife beenden MartinK 4 490 01.04.2016 05:49
Letzter Beitrag: MartinK
  Problem: RFID code mit Inhalt einer Textdatei auf einer SD Karte vergleichen MartinK 6 516 29.03.2016 16:45
Letzter Beitrag: MartinK
  Inhalt einer Variable mit per Virtual Wire versenden toto1975 17 1.775 26.03.2016 18:57
Letzter Beitrag: hotsystems
Exclamation String Zerlegen in drei Variablen Wampo 4 854 28.12.2015 01:07
Letzter Beitrag: Wampo

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste