NUMBERS and STRING functions

Liberty BASIC kent verscheidene functies die numerieke waarden
en strings (reeksen van karaktertekens) kunnen omzetten.

VAL(stringExpression)

Omschrijving:
Deze functie keert geeft numerieke waarde voor stringExpression weer indien stringExpression
een geldige numerieke waarde vertegenwoordigt of als het met een geldige numerieke waarde begint.
Indien, dan wordt met nul teruggekeerd.

Gebruik:

  print 2 * val("3.14")         Produces:       6.28

  print val("hello")            Produces:       0

  print val("3 blind mice")     Produces:       3

STR$( numericExpression )


Omschrijving:
Deze functie keert met een string terug die het resultaat van numericExpression uitdrukt.

Gebruik:

age = 23
age$ = str$(age)
price = 2.99
price$ = str$(price)
totalApples = 37
print "Total number of apples is " + str$(totalApples)

USING(templateString, numericExpression)


Omschrijving:
Deze functie formatteert numericExpression als string gebruik makend van het sjabloon templateString.
De regels voor het formaat van deze functie zijn gelijkaardig aan die
van het PRINT USING statement van Microsoft BASIC, maar omdat we haakjes () gebruiken is het voor ons
een functie, en kan daarom als deel van een grotere uitdrukking
van BASIC worden gebruikt in plaats van slechts als directe output te worden gebruikt.
Het sjabloon plaatje bestaat uit "#" tekens die de plekken van de cijfers aan geven,
en één enkele punt ". " om op plaats van het decimale punt te wijzen.
Het sjabloon plaatje (string) moet binnen dubbele aanhalingstekens worden geplaatst.
Als er meer cijfers in een getal staan dan door het sjabloon plaatje zijn voorzien,
dan zullen de cijfers worden ingekort om zich aan het sjabloon plaatje aan te passen.

Een sjabloon string zou er als volgt uit kunnen zien:

amount$ = using("######.##", 1234.56)

Of als deel van een grotere uitdrukking:

notice "Your total is $" + using("####.##", 1234.5)

 

Zo een sjabloon string kan ook als een string variabele worden uitgedrukt:

template$ = "######.##"
amount$ = using(template$, 1234.56)

Using( ) kan samen met "print" worden gebruikt.
De volgende twee voorbeelden geven het zelfde resultaat:

amount$ = using("######.##", 123456.78)
print amount$

print using("######.##", 123456.78)

 

De USING( ) functie voor Liberty 3 is gewijzigd zodat het zijn output afrond
zoals PRINT USING dat doet in andere BASIC's.

Gebruik:

' print a column of ten justified numbers
for a = 1 to 10
    print using("####.##",  rnd(1)*1000)
next a

'sample output from the routine above:
  72.06
 244.28
 133.74
  99.64
 813.50
 529.65
 601.19
 697.91
   5.82
 619.22

 

HEXDEC( "value" )

Description: Returns a numeric decimal from a hexadecimal number expressed in a string.
Hexadecimal values are represented by digits 0 - F.
The hexadecimal number can be preceded by the characters "&H".
The hexadecimal string must be enclosed in quote marks.

Usage:

    print hexdec( "FF" )

or:

    print hexdec( "&HFF")

 

DECHEX$( number )

Omschrijving:
Keert met een string van een decimaal getal omgezet in hexadecimaal (basis 16) terug

Gebruik:

    print dechex$( 255 )

prints...

    FF

 

EVAL$(code$) and EVAL(code$)

Description:
Liberty BASIC heeft nu twee functies voor de evaluatie van de code van BASIC
binnen een lopend programma. De eval () functie evalueert de code en keert een numerieke waarde terug,
en de functie eval$( ) werkt op dezelfde manier maar keert met een string waarde terug.
Allebei zullen dezelfde code berekeningen uitvoeren,
maar de stringfunctie zet het resultaat om in een string als het niet reeds een string is,
en de numerieke versie van de functie zet het in numerieke waarden om.

Evaluatie tot een string
Hier wijzen we hoe we code evalueren tot een string,
en wat er gebeurt als u probeert om het te evalueren tot een getal.

'Evalueer één of andere code die een niet-numeriek resultaat geeft

    a$(0) = "zero"
    a$(1) = "one"
    a$(2) = "two"
    code$ = "a$(int("+str$(rnd(1))+"*3))"
    print "We will evaluate the code: "; code$
    result$ = eval$(code$)
    print result$

'Nu gebruiken we de eval functie, die in feite een 
'val( ) levert aan het resultaat van de berekening.  Het omzetten van een niet
'numerieke string naar een numerieke waarde geeft als resultaat een nul.

    result = eval(code$)
    print result

Evaluating to a number
Hier is een voorbeeld van het meest gebruikelijke type van code evaluatie
die de gebruikers zullen willen doen: Numerieke berekening.
Maak enkel een kort voorbeeld dat u vraagt om een te evalueren uitdrukking te typen.

    'ask for an expression
    input "Type a numeric expression>"; code$
    answer = eval(code$)

    print answer