mojaSymfonia FORUM
https://forum.mix-soft.pl/

AMBasic Jak działa funkcja Val()
https://forum.mix-soft.pl/viewtopic.php?f=15&t=5350
Strona 1 z 1

Autor:  FAQ [ 2013-12-02, 23:58 ]
Tytuł:  AMBasic Jak działa funkcja Val()

Jak działa funkcja Val()?

Autor:  FAQ [ 2013-12-03, 00:02 ]
Tytuł:  Re: AMBasic Jak działa funkcja Val()

Zgodnie z dokumentacją
Polecenie zamienia liczbę podaną w postaci tekstu na jej wartość. Typ zwróconej wartości zależy od zawartości argumentu i może być Int, Long - dla liczb z zakresu poza -32768..32767, lub Float w wypadku, gdy w tekstowej reprezentacji liczby znajduje się kropka. Napotkanie dowolnego znaku różnego od cyfry i kropki kończy translację.

Okazuje się, że w ostatnich wersjach funkcja nauczyła się konwertować string na float nie tylko kiedy w stringu jest kropka ale także kiedy jest tam przecinek.

Kod:
string sWartoscKropka = "2.2"
string sWartoscPrzecinek = "2,2"
string sWartoscZnak = "2|2"

print val(sWartoscKropka)
print lf
print val(sWartoscPrzecinek)
print lf
print val(sWartoscZnak)
print lf


Do tej pory konieczna była upierdliwa zamiana przecinka na kropkę za pomocą buf i replace. Dzięki.

Autor:  FAQ [ 2013-12-04, 21:31 ]
Tytuł:  Re: AMBasic Jak działa funkcja Val()

I kolejna ciekawostka.

Dlaczego poniższy kod zwraca 0? I co zrobić, żeby wynik był poprawny (0,5)?

Kod:
string s = "30"
float f = val(s)/60
print f

Autor:  nick [ 2013-12-05, 16:53 ]
Tytuł:  Re: AMBasic Jak działa funkcja Val()

dopisać .0
Kod:
string s = "30"
float f = val(s)/60.0
print f

Autor:  FAQ [ 2013-12-05, 17:06 ]
Tytuł:  Re: AMBasic Jak działa funkcja Val()

Poprawna odpowiedź. Gratuluję

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/