Umwandlung von string in integer
Übersicht

![]() |
SnadeBetreff: Umwandlung von string in integer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Das Programm soll einen Tannenbaum aus beliebigen ascii Zeichen darstellen, das klappt soweit auch ganz gut, allerdings nur für zahlen bis 9, welche in der Variable one% gespeichert sind. Problem: Wenn ich eine Zahl über 9 eingebe (am Anfang beim Input, z.B. 31, 43), wird gar nichts mehr angezeigt, lege ich die Variable aber selber fest (one% = 31) funktioniert alles. Denke es hat irgendwas mit der Umwandlung von string in integer zu tun, weiß aber nicht genau in welcher Form. Wie mache ich es richtig, so dass eine Eingabe über 9 (i.Allg. zweistellig) ebenfalls möglich ist? Am besten ohne extra input-routine. BlitzBasic: [AUSKLAPPEN] Graphics 1024,768 |
||
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Deine Vermutung ist leider falsch, das hat mit der Konvertierung von String nach Integer nichts zu tun. Das Problem liegt in diesem Codeabschnitt: BlitzBasic: [AUSKLAPPEN] one% = Mid(tree_view$, 1, 2) der Variable one% wird dabei das erste Zeichen des eingegebenen Strings zugewiesen. Bei "32" wäre das z.B. "3". Da sich die restliche Eingabe dadurch auch verschiebt, liest du für two$ und three$ ein " " aus, was darin resultiert, dass du später nichts siehst. Also musst du die Eingabe in drei Teile auftrennen, jeweils separiert durch " ". Schau dir dazu mal den Befehl InStr ![]() Gruß, Tennisball |
||
![]() |
Snade |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Tennisball
Danke das mit der Verschiebung habe ich übersehen ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst nicht einfach davon ausgehen, dass der Eingabestring X Zeichen lang ist - jedenfalls, wenn du den Benutzer nicht darauf hin weißt, das ein bestimmtes Muster nötig ist um sicher zu stellen, dass die ersten Zeichen Zahlen sind.
Am schnellesten ginge es, drei mal Input auf zu rufen und die eingaben separat ein zu lesen: macht keine Probleme den Quatsch wieder auseinander zu popeln. Ansonsten muss du ein Trennzeichen definieren, dessen Position bestimmen und die richtigen Teile des Strings abschneiden. Und zu guter Letzt der Hinweis: Man kann einfach von String zu Int casten. Die Zahl wird bis zum ersten Buchstaben erkannt. BlitzBasic: [AUSKLAPPEN] tree_view$ = "31 # %" |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group