String und Dezimalzahlen
Übersicht

Hektor IIBetreff: String und Dezimalzahlen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Tag auch, ich hab gerade wieder frisch mit BB angefangen(zum 4. mal), aber eines verstehe ich noch nicht so ganz. Wie kann ich einem Wert einen String oder eine Dezimalzahl zuordnen? ich habe das ganze System nicht so ganz verstanden, wann man "..." setzen muss, wann $ und wann #... Ich habe es mir oft genug im Robsite Tutorial durchgelesen, aber verstehe es immernoch nicht so ganz. Hier ein Beispiel Code:
Code: [AUSKLAPPEN] Dim Mog(20)
Mog(1) = 16 Mog(5) = "test" Mog(14) = 21.12 Print Mog(1) Print Mog(5) Print(14) WaitKey End Kann mir da jemand helfen? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Dimfeld kann nur Variablen gleichen Typs enthalten. Was Du versuchst, ist zu mischen, was nicht geht.
Welche Art von Inhalt eine Variable hat legst Du bei ihrer ersten Nutzung, idealerweise jedoch bei der Definition fest. Code: [AUSKLAPPEN] local testvar$ ; diese Variable enthält eine Zeichenkette
dim nocheintest#(20) ; ist ein Feld mit 21 (0-20) Gleitkommazahlen. Du kannst eine Ganzahl in eine Gleitkommavariable ohne Verluste übernehmen: Code: [AUSKLAPPEN] zahl# = 1
Aber umgekehrt hast Du Verluste: Code: [AUSKLAPPEN] zahl% = 1.4
Also: vorher sorgfältig überlegen was für einen Typ Du brauchst und dann schon bei der ersten Benutzung der Var im Programm den Typ mittels $,%,# festlegen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Hektor II |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, danke für die schnelle Antwort. Ich wusste nicht, das man den typ des Feldes vorher festlegen muss. Mit den Zahlen das, werd ich mir wohl noch einmal angucken müssen. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt Ganzzahlen (Integer). Die Variable hat ein %. (eigentlich werden alle Variablen die kein Zeichen haben automatisch zum Integer, aber der Sauberkeit halber ist es sinnvol dass % dennoch zu nehmen).
Integer können nur Ganzzahlen (1, 315, 70545) speichern. Dann gibt es noch Gleitkommazahlen, also Zahlen mit Nachkommastellen. Diese werden auch float genannt und mit # gekennzeichnet. Du kannst in Glwitkommazahlen wesentlich grössere Zahlen speichern als in Ganzzahlen, allerdings ist ihre Rechengenauigkeit auf 6 Stellen begrenzt. Zudem ist es eben so dass bei einem Transfer von Float nach Integer die Nachkommastellen verloren gehen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann gibt es noch Zeichenketten (wird "String" genannt)
Diese speichern einfach nur Text ab. Machst du so was Code: [AUSKLAPPEN] Name="Patrick"
print Name Ausgabe: 0 Was ist passiert? Tja man hat halt versucht in eine Ganzzahl ein String zu "quetschen" was misslungen ist (0). Richtig in diesem Fall wäre das: Code: [AUSKLAPPEN] Name$="Patrick"
print Name Oder du sagst Blitzbasic vorher das mit Name ein String gemeint ist. Code: [AUSKLAPPEN] global Name$
Name="Patrick" print Name @Bladerunner Wie mache ich die Querverweise zur Onlinehilfe? Danke. |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
[ot]
mit ql:Befehl [/ot] |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Hektor II |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Christoph hat Folgendes geschrieben: Richtig in diesem Fall wäre das: Code: [AUSKLAPPEN] Name$="Patrick"
print Name Oder du sagst Blitzbasic vorher das mit Name ein String gemeint ist. Code: [AUSKLAPPEN] global Name$
Name="Patrick" print Name Achso, ich habe wiedereinmal etwas falsch verstanden. Ich bin davon ausgegangen, das man den Variablentyp in dem Wert der Variable (Name=Patrick$) und nicht in der Variable selbst festlegt. @Bladerunner: Danke, das hat es mir besser erklärt als jedes Tutorial ![]() @Alle: Danke, dass ihr mir so schnell und ausführlich geholfen habt. Kenne ich wirklich aus keinem anderem Forum, besonders nicht aus BEginner´s Corners etc. Edit: Hab gerade alles probiert, funktioniert super. Aber eine Frage habe ich noch: Wenn ich der Übersicht-halber alle Integer Variablen mit einem % kennzeichnen soll, kann ich das selbe auch mit Strings machen? Ich habe es probiert, und bei einem einfachem Eingabe$=Input("...") passiert nichts(was ja auch nicht sollte). Aber hat es Auswirkungen auf spätere Teile, wenn ich bspw. Funktionen oder Types integriere? |
||
![]() |
Thorsten |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm sry schonmal wenn ich dich falsch verstanden habe ![]() Wenn du Variablen Funktionsübergreifend benutzen willst musst du jede Variable vorher globalisieren z.b. Code: [AUSKLAPPEN] Global String$
Außerdem musst du jede Variable nur einmal als String, Float oder Integer festlegen. Ebenfalls hilfreich ist es, den Typ im Name festzulegen z.b. S steht für String oder Fl für Float. cya, BlindGuy |
||
Hektor II |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hmm... Danke, wenn ich das mit S_String mache wird das wohl wirklich übersichtlicher ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group