Float Zahl ergibt Null beim berechnen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

C64-Flo

Betreff: Float Zahl ergibt Null beim berechnen

BeitragSo, Jan 07, 2007 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Bei mir ist mal wieder der Wurm drin, und ich habe dieses Problem für das ich keine Erklärung mehr habe:

Ich möchte die Float-Variable
barvar#
berechnen lassen, doch als Wert erhalte ich immer null...

Zitat:

barvar#=1/20
text 15,390,"Barvar=:"+barvar#


also eigentlich rechne ich an dieser stelle mit einer variablen anstatt "1" -

seltsam ist, wenn ich barvar# direkt einen wert zuweise, zB
barvar#=0.001
dann nimmt es diesen wert auch an, also warum nimmts nicht die division an?

Question
"Die Situation ist aussichtslos - aber nicht kritisch!"
(S.Effenberg.)

FreetimeCoder

BeitragSo, Jan 07, 2007 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
barvar#=1/20.0
text 15,390,"Barvar=:"+barvar#

Versuch das. Ich weiß nicht warum, aber Blitz macht Probleme wenn man 2 Integers teilen will. Dann kommt immer 0 bei einem Wert < 0 raus Confused
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA

C64-Flo

BeitragSo, Jan 07, 2007 12:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Jaaa, das wars!

Danke für die schnelle Hilfe Very Happy
"Die Situation ist aussichtslos - aber nicht kritisch!"
(S.Effenberg.)
 

Dreamora

BeitragSo, Jan 07, 2007 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
FreetimeCoder hat Folgendes geschrieben:

Versuch das. Ich weiß nicht warum, aber Blitz macht Probleme wenn man 2 Integers teilen will. Dann kommt immer 0 bei einem Wert < 0 raus Confused


Blitz macht garkeine Probleme.
Das ist bei allen Sprachen so.

Int / Int -> Ganzzahldivision, nicht Floatdivision. Die ist schneller und für viele Dinge genau das was man auch will (gibt viele Fälle wo man explizit nichts anderes will).

Wenn du 2 Int hast und Float Resultat willst einfach

Int / float(Int), dann kommt eine Float raus.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

FireballFlame

BeitragSo, Jan 07, 2007 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Jep. Oder du schreibst halt, bei konstanten Werten, einfach "1./20" oder "1/20."
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group