Laden...

Für float array werden im Direktfernster falsche Werte angezeigt

Erstellt von thefiloe vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.141 Views
T
thefiloe Themenstarter:in
87 Beiträge seit 2010
vor 12 Jahren
Für float array werden im Direktfernster falsche Werte angezeigt

auf diesem Screenshot (siehe Anhang) sieht man dass der wert tmp anders ist als der welcher dann im array drinnen steht... wieso?!

kann es sein, dass hier nur visualstudio mit einer ungenauigkeit arbeitet?

C
2.121 Beiträge seit 2010
vor 12 Jahren

Was ist buffer für ein Array?
Ich würd mir das nicht im Direktfenster anschauen, sondern im "Watch" (weiß nicht wie das auf Deutsch genau heißt).
Jedenfalls nachdem der Cast nach (float) 0.0 anzeigt und ohne Cast nur 0, siehts aus als wäre das eine ganze Zahl? Dann ist klar dass 0,... zu 0 wird.
Allerdings frag ich mich dann warum die Zuweisung ohne Cast funktioniert.

T
thefiloe Themenstarter:in
87 Beiträge seit 2010
vor 12 Jahren

das ist ein float array
und in der überwachung (watch) werden array werte nicht angezeigt (kann vll. auch daran liegen, dass es ein großes array ist 20.000+ da ich mit audio streams arbeite).

C
1.214 Beiträge seit 2006
vor 12 Jahren

Ich würd mich nicht so auf dieses Direktfenster verlassen, das kann durchaus sein, dass es etwas falsch angezeigt wird. Auf jeden Fall ist der Wert ja der gleiche, wenn das als float 4 und ohne den Cast 7 wäre, wärs sicher falsch, aber so würd ich mir keine Gedanken drüber machen.

C
2.121 Beiträge seit 2010
vor 12 Jahren

Sein Problem ist ja nicht die Null mal mit und mal ohne Nachkommastelle, sondern dass da eigentlich -0.013 drin stehen sollte.
Ich wär nicht auf die Idee gekommen das im Direktfenster zu machen. Das ist ein Fenster zur Ausführung von Befehlen. Und bei dem kommts vor allem auch auf den Zeitpunkt an, wann man das aufruft.

3.430 Beiträge seit 2007
vor 12 Jahren

Hallo,

das Problem liegt da ziemlich sicher an dem Direktfenster bzw. an der Art wie es bedient wurde.

Entweder du debuggst durch den Code und schaust dir dann die Werte der Variablen an (was da steht ist auch in der Variable drinnen), oder du baust ein paar ausgaben mit Console.WriteLine ein.

Dann wirst du auch die -0.013..... sehen

Gruß
Michael