Table of contents
-> Chapter 10 - Functions for variable conversion
The next topic is the description for the use of the following predefined TEIMSI functions:
1)- binstrpack
2)- binstrunpack
3)- floatpack
4)- floatunpack
5)- longpack
6)- longunpack
7)- parsefloat
8)- parseint
9)- parsestr
10)- copyof
11)- iftrue
binstrpack
The "binstrpack" function, converts a string in another eight times larger than contains the representation of each bit that makes up the bytes of the original. The characters in the returned string may be only one of two values: chr(0) and chr(1), which have ASCII code 0 and 1 respectively.
Syntax
Parameters
string
| TEIMSI variable with a data type of string. |
Returned value
string
| TEIMSI variable with a data type of string. |
Example:
// The following example shows the string "00000000000100000000000000000100", that represents the bytes (0,0,0,0,0,1,0,0, 0,0,0,0,0,0,1,0), this is because the character " "=chr(32)= 00100000 at binary and chr(64)=01000000 in binary system, writing in hexadecimal numerical system the characters chr(0) y chr(1) of the value of each bit of the characters chr(32) y chr(64) joined, you obtain the shown string.
alert(strtohex(binstrpack(" @")))
See also <<
binstrunpack>>, <<
strtohex>>
Go to top
binstrunpack
The "binstrunpack" function, receives a string with length multiple of eight that has only characters chr(0) and chr(1) (which have code ASCII 0 and 1 respectively) and converts it into a string of eighth of its size that has the bytes whose bits are what represent the bytes of the input string. In other words, does the reverse task of the "binstrpack" function.
Syntax
Parameters
string
| TEIMSI variable with a data type of string. |
Returned value
string
| TEIMSI variable with a data type of string. |
Example:
// The following example shows the string "[>" , "[" = chr(91), ">" = chr(62): We can see that 91 = 01011011 binary y 62 = 00111110 binary.
var uarr=array(1,1,0,1,1,0,1,0, 0,1,1,1,1,1,0,0)
var binstr=""
for(var t=0;t<count(uarr);t++){
binstr+=chr(uarr[t]);
}
alert( binstrunpack(binstr) )
See also <<
binstrpack>>, <<
strtohex>>
Go to top
floatpack
The "floatpack" function, converts a variable with a floating point number into a string of eight bytes whose information represents the original number. You can get the original number by sending the resulting string to the "floatunpack" function.
Syntax
floatpack(decimal_number) |
Parameters
decimal_number
| TEIMSI variable with data type of floating point number. |
Returned value
string
| String type variable with a length of eight bytes. |
Example:
var number= 10.46
var string8bytes = floatpack(number)
alert("Length of the resulting string = " + len(string8bytes) +" bytes.") // It shows that it has 8 bytes long.
See also <<
floatunpack>>, <<
longpack>>, <<
longunpack>>
Go to top
floatunpack
The "floatunpack" function, performs the inverse conversion to that performed by the "floatpack" function.
Syntax
floatunpack(string_8_bytes_long) |
Parameters
string_8_bytes_long
| String type variable with a length of eight bytes generated by the "floatpack" function. |
Returned value
decimal_number
| TEIMSI variable with data type of floating point number. |
Example:
var number= 10.46
var string8bytes = floatpack(number)
var original_number = floatunpack(string8bytes)
alert("Original number= " + original_number)
See also <<
floatpack>>, <<
longpack>>, <<
longunpack>>
Go to top
longpack
The "longpack" function, converts a variable with TEIMSI 32 bit integer, into a four-byte string whose information represents the original number. You can get the original number by sending the resulting string to the "longunpack" function.
Syntax
Parameters
integer_number
| TEIMSI variable with data type of a 32 bits integer number. |
Returned value
string
| String type variable with length of four bytes. |
Example:
var number= 10123
var string4bytes = longpack(number)
alert("Length of the output string= " + len(string4bytes) +" bytes.") // It shows that it has 4 bytes long.
See also <<
floatpack>>, <<
floatunpack>>, <<
longunpack>>
Go to top
longunpack
The "longunpack" function, performs the inverse conversion to that performed by the "longpack" function.
Syntax
longunpack(string_4_bytes_long) |
Parameters
string_4_bytes_long
| String type variable with length of four bytes generated by the "longpack" function. |
Returned value
integer_number
| TEIMSI variable with data type of a 32 bits integer number. |
Example:
var number= 10123
var string4bytes = longpack(number)
var original_number = longunpack(string4bytes)
alert("Original number = " + original_number)
See also <<
floatpack>>, <<
floatunpack>>, <<
longpack>>
Go to top
parsefloat
The "parsefloat" function tries to convert a string representing a number, to a double precision number variable.
Syntax
parsefloat(String_That_Represents_a_Number) |
Parameters
String_That_Represents_a_Number
| TEIMSI variable with a data type of string, it contains the number. |
Returned value
decimal_number
| TEIMSI variable with data type of floating point number. |
Example:
var cad1="1.3", cad2="2.4"
alert(cad1+ " + " + cad2+ " = " + (parsefloat(cad1)+parsefloat(cad2)) ) // Shows the addition of 1.3+2.4 = 3.7 (or a very closely value).
See also <<
parseint>>, <<
parsestr>>, <<
ron>>, <<
number_type>>
Go to top
parseint
The "parseint" function attempts to convert a string that represents an integer number, into a TEIMSI variable with data type of a 32 bits integer number.
Syntax
parseint(string_that_represents_an_integer_number) |
Parameters
string_that_represents_an_integer_number
| TEIMSI variable with a data type of string, it contains the number. |
Returned value
integer_number
| TEIMSI variable with data type of floating point number. |
Example:
var cad1="23", cad2="11"
alert(cad1+ " + " + cad2+ " = " + (parseint(cad1)+parseint(cad2)) ) // Shows the result: 34.
// "parseint" supports integer of 32 bits in binary and hexadecimal numerical system.
alert(parseint("11001y")) // Shows the integer 25, because it's equivalent to the number 11001 in the binary numerical system.
alert(parseint("100h")) // Shows the integer 256, because it's equivalent to the number 100 in the hexadecimal numerical system.
See also <<
parsefloat>>, <<
parsestr>>, <<
number_type>>
Go to top
parsestr
The "parsestr" function converts a TEIMSI variable into a TEIMSI variable with a data type of string.
Syntax
parsestr(TEIMSI_variable) |
Parameters
TEIMSI_variable
| TEIMSI variable of any type. |
Returned value
string
| TEIMSI variable with a data type of string. |
Example:
var unknown= parsestr(345)
alert("The variable \"unknown\" has a string = " + (itype(unknown)==_sysstr) );
var unknown2= parsestr(true)
alert("The variable \"unknown2\" has a string = " + (itype(unknown2)==_sysstr) );
alert("unknown2="+unknown2);
See also <<
parsefloat>>, <<
parsestr>>, <<
itype>>, <<
Predefined variables>>
Go to top
copyof
The "copyof" function returns a copy of a variable. Fulfills the same function of the declaration set value (with the equal sign "="). Used by certain functions that do not support static string as a parameter.
Syntax
Parameters
TEIMSI_variable
| TEIMSI variable of any type. |
Returned value
TEIMSI_variable
| TEIMSI variable with the same data of the input parameter. |
Example:
See also <<
parsestr>>
Go to top
iftrue
The "iftrue" function receives three parameters where the first one is a boolean that decides if the function returns the second parameter or third parameter.
Syntax
iftrue(Boolean, TEIMSI_variable1, TEIMSI_variable2) |
Parameters
Boolean
| TEIMSI variable with type of Boolean. |
TEIMSI_variable1
| TEIMSI variable of any type. |
TEIMSI_variable2
| TEIMSI variable of any type. |
Returned value
TEIMSI_variable
| TEIMSI variable with the same data of the input parameter. |
Example:
alert(iftrue(5>3, "5 is greater than 3", "5 is less or equal than 3"))
See also <<
copyof>>
Go to top