Auf nachkomma stelle runden/oda Float Eingabe

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ToeB

Betreff: Auf nachkomma stelle runden/oda Float Eingabe

BeitragDo, Mai 17, 2007 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Also zu beginn erstmal : Ich hab für meinen Kapital Berechner, der so was wie ein Virtuelles Kassenbuch mit einigen Extras ist, eine Eingaberoutine mit GetKey (ihr kennt das ja...)geschrieben. Code: [AUSKLAPPEN]
  If Count(0) = 0 Then
    SetFont Font1
    InfoText(0,100,"  ~ Kein Startkapital ~")
       
        InfoText(100,300,"")
        Kapan = TextRect(1,200,120,40,"Kapital : ",Kapan)
        If Kapan And NamKap2 = False NameKap2 = True :BF = MilliSecs()
        If NameKap2 = True Then
         If BF <= MilliSecs() - 500 Then BFF = 1 - BFF:BF = MilliSecs()
         If Get > 0 And Get <> 8 And Get <> 13 Then Name_Kap = Name_Kap + Chr(Get)
         If Get = 8 Then Name_Kap = Mid(Name_Kap,1,Len(Name_Kap)-1)
         If Get = 13 Then NameKap1 = 0:NamKap2 = 0:CreateK(0,Name_Kap,y):y = y + 1:SLL = SLL + 1
         If BFF = 1 Then Rect 1+StringWidth("Kapital : "+Name_Kap)-6,196,10,25,1
         Color 255,255,255
         Text 1+StringWidth("Kapital : ")+13,196,Name_Kap
        EndIf
EndIf


Jetzt will ich aber das so eingeben können das man auch die Cents eingeben kann (Also nach den Komma...).Wie mach ich das ?

Oder 2.Frage : Wie kann ich eine Float-Variable (wert#) auf zwei nachkommer stellen runden ?

Danke schonmal für eure Antworten.

Thx und mfg
Wink
Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

skey-z

BeitragDo, Mai 17, 2007 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
lern doch einfach mal die Suche zu benutzen:

erweiterte Suche->runden(in Codearchiv)

auch mit der einfachen Siuche hättest du sowas innerhalb von wenigen Sekunden gefunden.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

darth

BeitragFr, Mai 18, 2007 1:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ich werde nun ein grosses geheimnis meines super 3d-programms enthüllen. die eingabe von komma zahlen.
nein falsch, die eingabe musst du selber machen... und den code für die erkennung kriegste auch nicht.
aber die idee:
du kennst sicherlich die umwandlung von zahlen zu strings. die brauchst du nämlich. bei der eingabe kannst du den "." erlauben, und dann rufst du eine funktion mit dem string auf:
(setz sicherheitshalber einen letzten punkt ans ende des strings)
dort lässt du den string durchlaufen bis zum punkt, und wandelst das davor um zu einem float (er wird die nachkommastellen nicht haben!)
danach liest du alles nach dem punkt aus, dividierst es durch 10^anzahl_stellen und addierst es zu deinem float. TADAAA!!
Diese Signatur ist leer.

ToeB

BeitragFr, Mai 18, 2007 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
@darth gamer :

Cool ! Danke ! Das Hab ich gesucht !

xD ^^

thx und mfg
Wink
Crack93

~Edit~

Ich kapier das net :

Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SetBuffer BackBuffer()

t$ = "12345.678910"
Repeat
Text 1,1,Runden(t$,6)
Flip
Cls
Until KeyHit(1)
End

Function Runden$(Text$,stellenanzahl)
If Instr(Text$,".") > 0 Then
Tex = Float(Left(Text$,Instr(Text$,".")))
Tex2 = Right(Text$,Len(Text$)-Instr(Text$,"."))
stellenanzahl = Len(Tex2)-stellenanzahl
Tex2 = Tex2/(10^stellenanzahl)
EndIf
Tex3$ = Tex+"."+Tex2
Return Tex3
End Function
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group