Seite 1 von 1

.ToFloat() -> Bug oder Feature?

Verfasst: 04.03.2020, 07:27
von dtp
Hallo,

folgendes Skript liefert den korrekten Output "9":

Code: Alles auswählen

integer test = 9.4;
test = test.ToInteger();
WriteLine(test);
Aber mit ".ToFloat()" bricht das Skript ab.

Code: Alles auswählen

real test = 9.4;
test = test.ToFloat();
WriteLine(test);
Bug oder Feature?

Re: .ToFloat() -> Bug oder Feature?

Verfasst: 04.03.2020, 08:11
von Black
ein real hat keine methode .ToFloat ().

In diesem Fall sitzt der fehler vor dem Monitor ^^

Black

Re: .ToFloat() -> Bug oder Feature?

Verfasst: 04.03.2020, 08:12
von jp112sdl
Und laut Doku, Seite 19:
ToFloat: Wandelt eine Zeichenkette in eine Gleitkommazahl um.
Also alles ok.

Re: .ToFloat() -> Bug oder Feature?

Verfasst: 04.03.2020, 09:50
von dtp
Ah, okay. Da habe ich wohl etwas zu naiv gedacht, dass das Ursprungsformat keine Rolle spielt. Danke.

Re: .ToFloat() -> Bug oder Feature?

Verfasst: 04.03.2020, 18:10
von alchy
Wobei schon die erste Zeile falsch ist. :|

Code: Alles auswählen

integer test = 9.4;
da die automatische Typumwandlung da schon ein real draus macht, egal ob du das als integer deklarierst.
Dann wandelst du es zu integer....

.ToFloat() funktioniert aber wirklich weder bei integer ( das halte ich zumindest für fragwürding)
noch bei real (macht keinen Sinn, also halte ich es für richtig - nur warum wird abgebrochen also schlussendlich auch fragwürdig?

Aber das ist zumindest konsequent. :wink:
Und da es so konsequent umgesetzt ist, wird mittels .ToFloat() aus ein
string test = "9,4"; ! wird zu 9.000000
string test = "9.4"; ! wird zu 9.400000
string test = "string" ! wird zu 0.000000

kann man köstlich drüber diskutieren. Muss man aber nicht.

Alchy

Re: .ToFloat() -> Bug oder Feature?

Verfasst: 05.03.2020, 08:09
von dtp
alchy hat geschrieben:
04.03.2020, 18:10
Wobei schon die erste Zeile falsch ist. :|
Nun ja, das war schon Absicht so. ;)

Aber danke für deine weiteren Ausführungen. Die bestätigen mich zumindest, dass ich nicht total daneben lag. 8)

Re: .ToFloat() -> Bug oder Feature?

Verfasst: 05.03.2020, 21:08
von alchy
dtp hat geschrieben:
05.03.2020, 08:09
Nun ja, das war schon Absicht so. ;)


Absicht, achso, na dann habe ich nix gesagt. :mrgreen:


Alchy

Re: .ToFloat() -> Bug oder Feature?

Verfasst: 08.06.2020, 18:53
von dtp
Übrigens, sehr angenehm finde ich folgende Eigenschaft:
2020-06-08 18-50-59.png
2020-06-08 18-50-59.png (6.59 KiB) 3159 mal betrachtet
Sprich, wenn in einem String Zeichen nach einem Zahlenwert folgen, die keine Ziffern sind, werden sie automatisch bei .ToInteger() und .ToFloat() ignoriert.

Re: .ToFloat() -> Bug oder Feature?

Verfasst: 08.06.2020, 19:30
von MichaelN
Ja, so könnte man beim XML parsen schön Quick and dirty programmieren. Ich habe es trotzdem ordentlich gemacht, wer weiß was das nächste oder übernächste Release aus diesem Feature macht.