Tausenderpunkt in Zahlen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Torx

Betreff: Tausenderpunkt in Zahlen

BeitragSa, März 19, 2005 1:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

seit 3 Wochen programmiere ich nun mit BlitzPlus und es macht mir tierisch Spass. Hab nun schon recht viel gelernt und versuche das alles so nach und nach in kleinen Programmen umzusetzen.

Ich habe einer Variablen einen Wert zugewiesen, in diesem Fall 100000. Danach habe ich mittels Text,x,y,Variable den Inhalt der Variablen anzeigen lassen. Ach ja, die Schrift und Farbe habe ich auch geändert, alles wunderbar, nur gefällt mir die Ausgabe noch nicht. Ich hätte gerne Tausenderpunkte.
Im Moment bekomme ich 100000 angezeigt, schöner wäre aber 100.000
oder bei ner Mille zeigt er 1000000 an, besser wäre aber 1.000.000

Wie kann ich das erreichen?

Viele Grüße vom Bodensee
 

Apocalyptic

BeitragSa, März 19, 2005 1:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit den Befehlen Len und Mid. Brauchst du Hilfe mit diesen Befehlen, dann informiere dich mit Hilfe der Onlinehilfe von blitzbase.de
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
 

Torx

BeitragSa, März 19, 2005 1:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ha, das geht ja zackig... Danke für die schnelle Antwort.
Hab mir die Befehle grad angeschaut. Also mit dem Befehl MID könnte man das machen, aber es erscheint mir sehr aufwendig bzw. umständlich.
Hier mal ein kleiner Auszug aus dem Programm:

Graphics 800,600,0,2
SetBuffer BackBuffer()
Bild=LoadImage ("Pergamenthg.jpg")
Global Bargeld
Bargeld=14493978
TileBlock bild
Text 350,12 ,Bargeld
Flip
WaitKey

Die Ausgabe ist dann 14493978. Der Variableninhalt ändert sich immer wieder. Die formatierte Ausgabe sollte so aussehen: 14.493.978

Geht das mit dem Befehl MID?
 

Apocalyptic

BeitragSa, März 19, 2005 1:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Jepp. Du musst deine Zahl in einen String umwandeln und dessen Länge mit Len in eine Variable speichern. Dann durchläufst du den String von hinten nach vorne in dreier Schritten mit einer For-Schleife und setzt immer einen Punkt. Die 3er Blöcke kriegst du mit Mid. Wenn du nicht weiterkommst, kann ich dir auch Code geben, aber dann wirst du nix lernen Wink
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
 

David

BeitragSa, März 19, 2005 1:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Mit MID??
So irgendwie?

BlitzBasic: [AUSKLAPPEN]

Graphics 800, 600, 32

zahl = 14493978
result$ = \"\"

For i = 0 To Len( zahl ) - 1
If ( Not ( i Mod 3 ) ) And ( i <> 0 )
result = \".\" + result
End If

result = Mid( zahl, Len( zahl ) - i, 1 ) + result
Next

Print result
WaitKey
End



grüße

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, März 19, 2005 9:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, hab hier eine Function die das erledigt!
BlitzBasic: [AUSKLAPPEN]
Print Pointing(50003000)

WaitKey
Function Pointing$ (a$)
While Len (a$) > 3
b$ = \".\" + Right (A$,3) + b$
a$ = Left (A$,Len (A$) - 3)
Wend
Return a$ + b$
End Function
[BB2D | BB3D | BB+]

Bigmichi

BeitragSa, März 19, 2005 9:51
Antworten mit Zitat
Benutzer-Profile anzeigen
aber dan wirst du aber auch eine function brauchen die dies ganze wieder umwandelt oder halt die original zahl speichern... falls du weiter mit der Zahl rechnen willst...
 

David

BeitragSa, März 19, 2005 10:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Das is ja nicht gerade sehr kompliziert! Wink
Einfach alle Punkte durch nen Leerstring ersetzen und in ein Integer casten!
Sind genau 2 Aufrufe!

grüße
 

fliege

BeitragSa, März 19, 2005 11:29
Antworten mit Zitat
Benutzer-Profile anzeigen
würde es nicht so gehen:
BlitzBasic: [AUSKLAPPEN]
zahl = Int(Replace(altezahlmitpunkten$, \".\", \"\"))
Wer weiß was kommt.. ?

Alfadur

BeitragSa, März 19, 2005 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
das zurückkonvertieren ist doch eigentlich garnicht nötig, da durch den funktionsaufruf das bargeld an sich garnich verändert wird, right?

bargeld=1000
text "geld : "+mitpunkten$(bargeld),100,100

und hier ist bargeld immernoch 1000 ... damit passiert ja nix.
es ging ja nur um die ausgabe.
A Cray is the only computer that runs an endless loop in less than four hours.

Spikespine

BeitragSa, März 19, 2005 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man mit ihr rechnen will sollte man sie schon zurückwandeln... Smile
Spike
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

Alfadur

BeitragSa, März 19, 2005 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, braucht man nicht. du verstehst mich nicht denke ich ...

ich meine folgendes :

BlitzBasic: [AUSKLAPPEN]


Function mitpunkten$(a$)
While Len (a$) > 3
b$ = \".\" + Right (A$,3) + b$
a$ = Left (A$,Len (A$) - 3)
Wend
Return a$ + b$
End Function

bargeld=1000

Print \"bargeld : \"+mitpunkten$(bargeld)

bargeld = bargeld * 2

Print \"bargeld*2 : \"+mitpunkten$(bargeld)

WaitKey()



wie du siehst kann man einfach bargeld=bargeld*2 machen, weil bargeld (der integer bargeld) nicht verändert wird... es geht wie gesagt nur um die ausgabe. hoffe jetzt ist alles klar...
A Cray is the only computer that runs an endless loop in less than four hours.

Spikespine

BeitragSa, März 19, 2005 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
oh ja ok, sorry. Hatte dich missverstandem Wink

Spike
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax
 

Torx

BeitragSa, März 19, 2005 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Leute, erst mal tausend Dank für die vielen Antworten. Es ist klasse wie schnell da was brauchbares kommt.
Den Integerwert brauche ich weiterhin zum rechnen, da sich der Wert laufend ändert.
Die Ausgabe mit Tausenderpunkten ist nur zur Info des Spielers.
Ich habe das mit LEN schon eingebaut und es funktioniert wunderbar.
Die Variable Bargeld bleibt Integer und bekommt laufend neue Werte zugewiesen. Eine andere Variable z.B. Bargeld1 erhält laufend die Werte von Bargeld und wird nach aktualisierung mit Tausenderpunkten angezeigt.
Nochmals vielen Dank an alle

Viele Grüße, Torx

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group