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
  drei zahlen zu einer zusammen setzen? avoid 10 577 06.05.2018 10:55
Letzter Beitrag: avoid
  Wieder mal einer mit serial Probs :-( Bikandajyo 13 646 03.03.2018 08:35
Letzter Beitrag: Bikandajyo
  While Schleife in einer If abfrage Thorsten_S 4 583 30.12.2017 16:37
Letzter Beitrag: Thorsten_S
  Frage zu einer Lichtschrankenmessung - Nullwertabgleich Stargazer 12 1.465 03.11.2017 19:10
Letzter Beitrag: Binary1
  Verständnisfrage: Instanz innerhalb einer Klasse tuxedo0801 6 760 28.03.2017 19:40
Letzter Beitrag: georg01
  Mehrstellige Zahl aus Keypad StB 7 1.924 23.11.2016 03:47
Letzter Beitrag: StB
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 2.532 28.10.2016 10:12
Letzter Beitrag: hotsystems
  Innenwiderstand einer Batterie (Rundzelle 1,5V) Einsteiger94 2 1.059 24.07.2016 11:42
Letzter Beitrag: SkobyMobil
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 1.207 23.04.2016 10:26
Letzter Beitrag: rkuehle
  I2C Ansteuerung einer MSM3 (elv mp3 Box) Voreifel 2 961 09.04.2016 17:56
Letzter Beitrag: Voreifel

Gehe zu:


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