Funktion um Zahlen auf Komma zu testen
Übersicht

MariusBetreff: Funktion um Zahlen auf Komma zu testen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Hat jemand ne Funktion die Blitz Basic vielleicht besitzt oder eine geschriebene die eine Zahl auf Komma testet und dann zb. Bei Komma 0 und bei ohne komma 1 rausgiebt? Würd mich freuen. Marius |
||
Keybord not found!
Press F2 to continue! |
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] zahl1=14114
zahl2#=1314.1662 zahl3#=14114 Function komma(zahl$) If Instr(zahl$, ".") Then If Right(zahl$,2)=".0" Then Return 0 Else Return 1 EndIf Else Return 0 EndIf End Function Print komma(zahl1) Print komma(zahl2#) Print komma(zahl3#) WaitKey() End Hättest nur im Chat etwas länger warten müssen ![]() |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wandle die Zahl in einen String um und prüfe mit InStr() ob ein Komma drin ist. | ||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn eine Zahl Kommastellen hat (Dezimal), dann ist sie eine Float-Variable (gekennzeichnet durch ein #). Somit ist das prüfen sinnlos, weil es sich ja entweder um Integer oder Float handelt.
Wenn du meinst, wenn man ein String hat und den auf kommas zu untersuchen, dafür musst du einen parser schreiben der den string ausliest und einen wert zurückgibt, wenn ein komma enthalten ist. |
||
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] if instr(Zahl,",") oder Code: [AUSKLAPPEN] if instr(Zahl,".")
reicht doch vollkommen aus...was willst du da rumparsen? |
||
Cloud |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] function KommaZahlJaNein(Zahl#) TempZahl% = floor(Zahl#) if Zahl# > TempZahl then return 1 else return 0 endif end function bei 1 kommazahl bei 0 keine (geht bei allen KommaZahlen außer wenn hinter dem komma nur 0 sind z.B. 1.00000) |
||
Duron 1200 | 256 RAM | Geforce 2 TI |
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Cloud: Oh gute Lösung! Schöner als mein dummes teil ![]() @OJay: Weil man ja Variablen verwenden möchte. BB hängt leider an alle Floats ein ".0", wenn sie in Strings umgewandelt werden und kein Komma haben. Und für instr werden sie in Strings umgewandelt -> Instr liefert bei Floats nicht 0 zurück, egal ob es stellen hinterm Komma gibt oder nicht |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Zahl# = 3.141529 If Zahl# - Int(Zahl#) > 0 Then Komma = True If Zahl# - Int(Zahl#) = 0 Then Komma = False Print Zahl# + " Kommazahl " + Komma Oder mit Funktion Code: [AUSKLAPPEN] Zahl# = 3.141529 Print Zahl# + " Kommazahl: " + Komma(Zahl#) ; Variable = Komma(Zahl#) ;Prüft, ob eine bestimmte Zahl eine Kommazahl ist. ;Gibt bei einer Kommazahl "1" zurück ;Gibt bei einer Ganzzahl "0" zurück. Function Komma(Zahl#) If Zahl# - Int(Zahl#) > 0 Then Komma = True If Zahl# - Int(Zahl#) = 0 Then Komma = False Return Komma End Function |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Function Komma(Zahl#)
If Zahl# = Int(Zahl#) Then Return False Return True End Function |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimmt, die Version ist besser! ![]() Code: [AUSKLAPPEN] If Zahl# - Int(Zahl#) = 0 Then Komma = False ![]() ![]() |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
![]() |
Valio |
![]() Antworten mit Zitat ![]() |
---|---|---|
mahe hat Folgendes geschrieben: Code: [AUSKLAPPEN]
Function Komma(Zahl#)
If Zahl# = Int(Zahl#) Then Return False Return True End Function Tststs ![]() Function Komma(Zahl#)
Return Zahl# <> Int(Zahl#) End Function |
||
Programming today is a race between software engineers striving to build better and bigger idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook
Gegen TCPA || Stoppt RFID || Tux user #361946 || User posted image |
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke jetzt ist es perfekt ![]() |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
Marius |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Euch allen.
Ich bin noch Anfänger und wollte einfach mal aus Spass ein Programm schreiben, dass eine Zahl in ihre Teiler zerlegt. Bis zu 11 Stellen (manchmal auch weiter) funktioniert das auch gut. Das ist jetzt mein 2tes Programm. Mein erstes War eine Zinseszinsberechnung. Hier ist der Code zu dem Zerlegprogramm mit dem Beispiel von Cloud: ;------Und los: Graphics 600,700 Print "Hallo!" Print "Ich bin ein Programm zum Zerlegen einer Zahl ohne Komma!" Print "Bitte geben sie ihre Zahl ein:" ;------Input: Zahl# = Input () test = 2 Print "" Print "Die Zahl hat die Teiler:" ;------Rechnung: .nochmal Dividiert# = Zahl#/test JaoderNein# = KommaZahlJaNein(Dividiert#) If JaoderNein# = 1 Then test = test + 1 Goto nochmal EndIf If JaoderNein# = 0 Then Print test Zahl# = Dividiert# EndIf If Zahl# = 1 Then Goto Schluss If Zahl# > 1 Then Goto nochmal ;------Schlusssatz: .Schluss Print "" Print "" Print "" Print "Dieses Programm ist durch internationale Uhrheberrechte geschützt." Print "Alle erwähnten Marken sind Eigentum der Firma Marius Heil inc." Print "Verletzung der Uhrheberrechte wird Zivil und Strafrechtlich verfolgt." Print "" Print "(c) by Marius Heil" WaitKey End ;------Funktion zum testen der Zahl auf Komma von Cloud: Function KommaZahlJaNein(Dividiert#) TempZahl% = Floor(Dividiert#) If Dividiert# > TempZahl Then Return 1 Else Return 0 EndIf End Function WaitKey End |
||
Keybord not found!
Press F2 to continue! |
![]() |
Valio |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Print "Dieses Programm ist durch internationale Uhrheberrechte geschützt."
Print "Alle erwähnten Marken sind Eigentum der Firma Marius Heil inc." Print "Verletzung der Uhrheberrechte wird Zivil und Strafrechtlich verfolgt." LOL, glaube nicht dass du eine eigene Firma besitzt ![]() Dein Programm gibt übrigens nur korrekte Ausgaben für n>=2 (d.h. nicht für 0, 1 und alle negativen Zahlen). |
||
Programming today is a race between software engineers striving to build better and bigger idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook
Gegen TCPA || Stoppt RFID || Tux user #361946 || User posted image |
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also mir reicht da ein einfaches "Copyright (C) 2004 by Travis" und natürlich der Programmname und die Version. ![]() |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
Marius |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
War auch nicht für Komma und negativzahlen gedacht.
Jetzt muss ich's mur noch ein bissl für Q Basic umscheiben, dass es in den Taschenrechner passt. |
||
Keybord not found!
Press F2 to continue! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group