Difference between revisions of "LlList2Float"

From Second Life Wiki
Jump to navigation Jump to search
(Both hexadecimal notation and scientific notation are supported now)
(The third level caveat doesn't make sense without the second level caveat that was deleted. Should have block of text devoted to supported string formats under spec, will work on later.)
Line 8: Line 8:
|return_text=that is at '''index''' in '''src'''.
|return_text=that is at '''index''' in '''src'''.
|spec
|spec
|caveats=*A string of hexadecimal notation (e.g. "0x12A") or scientific notation (e.g. "6.2e+1") will be casted as a decimal float.
|caveats=*A string of hexadecimal notation (e.g. "0x12A") or scientific notation (e.g. "6.2e+1") will be parsed as a decimal float.
**Unfortunately, if it was already a float type, using [[llList2String]] will cause the decimal values to be truncated to six decimal places.
|constants
|constants
|examples=
|examples=

Revision as of 06:26, 21 April 2009

Summary

Function: float llList2Float( list src, integer index );

Returns a float that is at index in src.

• list src List containing the element of interest.
• integer index Index of the element of interest.

index supports negative indexes.
If index describes a location not in src then zero is returned.
If the type of the element at index in src is not a float it is typecast to a float. If it cannot be typecast zero is returned.

Specification

Index Positive Negative
First 0 -length
Last length - 1 -1

Indexes

  • Positive indexes count from the beginning, the first item being indexed as 0, the last as (length - 1).
  • Negative indexes count from the far end, the first item being indexed as -length, the last as -1.

Caveats

  • If index is out of bounds the script continues to execute without an error message.
  • A string of hexadecimal notation (e.g. "0x12A") or scientific notation (e.g. "6.2e+1") will be parsed as a decimal float.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>// Best viewed in Chat History (ctrl-h) default {

   state_entry()
   {
       list my_list = ["a", 1, 2.0, <1,2,3>, <1,2,3,4>, llGetOwner()];
       integer i = ~llGetListLength(my_list);
       while (++i)
       {
           llOwnerSay("string=" + llList2String(my_list,i)
                       + "\n   integer=" + (string)llList2Integer(my_list,i)
                       + "\n   float=" + (string)llList2Float(my_list,i)
                       + "\n   vector=" + (string)llList2Vector(my_list,i)
                       + "\n   rot=" + (string)llList2Rot(my_list,i)
                       + "\n   key=" + (string)llList2Key(my_list,i) );
       }
   }
}</lsl>

See Also

Functions

•  llGetListEntryType
•  llList2Integer
•  llList2String

Articles

•  Negative Index

Deep Notes

All Issues

~ Search JIRA for related Issues
   Perform typecasting with all llList2* functions

Signature

function float llList2Float( list src, integer index );