Difference between revisions of "Typecast"

From Second Life Wiki
Jump to navigation Jump to search
m (<lsl> example)
m (Multi-lang)
Line 1: Line 1:
{{LSL Header}}{{LSLC|Syntax}}{{RightToc}}
{{Multi-lang}}
{{LSL Header}}
{{LSLC|Syntax}}
{{RightToc}}


To convert the type of a value a typecast is required. There are two types of typecasting, explicit and implicit. Explicit typecasts must be provided by the programmer, but implicit typecasts are put in place by the compiler. LSL implicitly typecasts strings to keys and integers to floats where the latter type is required but the former is provided.
To convert the type of a value a typecast is required. There are two types of typecasting, explicit and implicit. Explicit typecasts must be provided by the programmer, but implicit typecasts are put in place by the compiler. LSL implicitly typecasts strings to keys and integers to floats where the latter type is required but the former is provided.

Revision as of 10:16, 16 April 2008

To convert the type of a value a typecast is required. There are two types of typecasting, explicit and implicit. Explicit typecasts must be provided by the programmer, but implicit typecasts are put in place by the compiler. LSL implicitly typecasts strings to keys and integers to floats where the latter type is required but the former is provided.


Syntax: (type)value

Converts value to type.

• expression type variable type
• expression value expression or constant

Examples

<lsl>string a = "1.5"; float b = (float)a; integer c = (integer)a;</lsl>

Caveats

  • The compiler allows explicit typecasting where it is not needed and does not optimize it out. Unnecessary typecasts will bloat code and slow it down.