Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Brauch mal Hilfe wegen Zahlen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Patrick06



Anmeldungsdatum: 16.11.2004
Beiträge: 7

BeitragVerfasst am: 16.11.2004, 21:32    Titel: Brauch mal Hilfe wegen Zahlen Antworten mit Zitat

Wenn ich z.b von der Zahl 218.543245
die ersten beiden Stellen nach dem Komma haben will,
wie wäre der Befehl?

Danke Patrick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 16.11.2004, 21:37    Titel: Antworten mit Zitat

Für Bildschirmausgabe ist
Code:
PRINT USING

das geeignete. Ansonsten kann man mit der Formel
Code:
gerundet! = INT(100! * zahl! + 0.5) / 100!

Dein gesuchtes Ziel erreichen. Vorsicht binärsystembedingte Rundungsfehler! Siehe

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Gleitkommazahlen.html

zu dieser Problematik.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick06



Anmeldungsdatum: 16.11.2004
Beiträge: 7

BeitragVerfasst am: 16.11.2004, 21:39    Titel: Antworten mit Zitat

das waere leider keine loesung, weil ich die werte ganz genau brauche,
also am ende bleiben von der 218.23432
nurnoch 0.23432 uebrig und davon brauch ich dann nur die ersten beiden stellen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick06



Anmeldungsdatum: 16.11.2004
Beiträge: 7

BeitragVerfasst am: 16.11.2004, 21:41    Titel: Antworten mit Zitat

das waere leider keine loesung, weil ich die werte ganz genau brauche,
also am ende bleiben von der 218.23432
nurnoch 0.23432 uebrig und davon brauch ich dann nur die ersten beiden stellen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kai Bareis



Anmeldungsdatum: 10.09.2004
Beiträge: 545
Wohnort: Baden Würtemberg

BeitragVerfasst am: 16.11.2004, 21:43    Titel: Antworten mit Zitat

Ist das vielleicht was du suchst?!?
habe ich mal irgentwo her weis aber nicht mehr wo
Code:
zahl = 218.23432
stellen = 2
gerundetezahl = CINT(zahl * 10 ^ stellen) / 10 ^ stellen
PRINT gerundetezahl

_________________
MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick06



Anmeldungsdatum: 16.11.2004
Beiträge: 7

BeitragVerfasst am: 16.11.2004, 21:49    Titel: Antworten mit Zitat

ne auch net
also ich glaube mich daran erinnern zu koennen, dass es einen befehl mit copy gibt, damit hat man dann die stellen bekommen
irgendwie copy(zahl,start,wieviele Stellen)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kai Bareis



Anmeldungsdatum: 10.09.2004
Beiträge: 545
Wohnort: Baden Würtemberg

BeitragVerfasst am: 16.11.2004, 21:58    Titel: Antworten mit Zitat

also dann gibt es natürlich noch MID$(ZEICHENKETTE$,START,ANZAHL)

beispiel:
Code:

deinezahl=218.23432
ZAHL$=LTRIM$(STR$(deinezahl))
z$=MID$(zahl$,2,4)
print Z$

ist ungetestet dürfte aber gehen
fahre MID mit den Curser an und dann klicke mal F1
viel spaß bei Coden lächeln
_________________
MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick06



Anmeldungsdatum: 16.11.2004
Beiträge: 7

BeitragVerfasst am: 16.11.2004, 22:07    Titel: Antworten mit Zitat

ja danke genau das hab ich gesucht
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick06



Anmeldungsdatum: 16.11.2004
Beiträge: 7

BeitragVerfasst am: 16.11.2004, 22:25    Titel: nochmal eine frage Antworten mit Zitat

hi hab nochmal eine frage
Koennte mir einer helfen, dieses hier in eine Schleife zu packen, damit es nicht solang wird?

hier der code:
Code:

Schalt = Zaehler / 10000

zahl$ = LTRIM$(STR$(Schalt))
Z$ = MID$(zahl$, 1, 50)
PRINT Z$
DO
Schalt2 = Schalt2 + VAL(Z$)
a = a + 1
LOOP UNTIL Schalt2 >= 1
PRINT a
IF Schalt2 = 1 THEN GOTO 1
Schalt2 = Schalt2 - 1

zahl$ = LTRIM$(STR$(Schalt2))
Z$ = MID$(zahl$, 1, 50)
DO
zusatz = zusatz + VAL(Z$)
b = b + 1
LOOP UNTIL zusatz >= 1
PRINT b
IF zusatz = 1 THEN GOTO 1
zusatz = zusatz - 1

zahl$ = LTRIM$(STR$(zusatz))
Z$ = MID$(zahl$, 1, 50)
DO
Zusatz2 = Zusatz2 + VAL(Z$)
c = c + 1
LOOP UNTIL Zusatz2 >= 1
PRINT c
IF Zusatz2 = 1 THEN GOTO 1
Zusatz2 = Zusatz2 - 1
 
zahl$ = LTRIM$(STR$(zusatz3))
Z$ = MID$(zahl$, 1, 50)
DO
zusatz3 = zusatz3 + VAL(Z$)
e = e + 1
LOOP UNTIL zusatz3 >= 1
IF zusatz3 = 1 THEN GOTO 1
zusatz3 = zusatz3 - 1
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kai Bareis



Anmeldungsdatum: 10.09.2004
Beiträge: 545
Wohnort: Baden Würtemberg

BeitragVerfasst am: 16.11.2004, 22:49    Titel: Antworten mit Zitat

eine kleine kleinig keit entweder bin ich blind oder ich finde die Sprungmarke 1 nicht da GOTO ja irgentwo hinspringen soll
_________________
MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick06



Anmeldungsdatum: 16.11.2004
Beiträge: 7

BeitragVerfasst am: 16.11.2004, 23:11    Titel: Antworten mit Zitat

jaja stimmt das es die 1 nicht gibt ist ja auch nur ein teil des programms, waehre sonst zu lang,
das einzigste, was ich gerade noch versuche ist diesen teil in eine schleife einzufuegen, um es zu kuerzen.


ps. variablenamen duerfen geändert werden wenn einer von euch weiß wie das geht.
hmm vielleicht mit einem feld arbeiten
ich guck morgen mal, ob das geht
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stefan



Anmeldungsdatum: 17.09.2004
Beiträge: 22

BeitragVerfasst am: 16.11.2004, 23:29    Titel: Antworten mit Zitat

Vieleicht sollte man das ganze in eine Function oder Sub packen und die jeweils benötigten Variablen als Parameter übergeben, die man dann nur noch viermal aufrufen muß.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz