Difference between revisions of "ListToWholeNumbers"

From Second Life Wiki
Jump to navigation Jump to search
m
m
Line 34: Line 34:
|notes
|notes
|cat1=Examples
|cat1=Examples
|cat2
|cat2=LSL_UD_Functions]]
|cat3
|cat3
|cat4
|cat4
}}
}}

Revision as of 09:39, 25 May 2010

Summary

Function: list ListToWholeNumbers( list mylist );

Takes a list and truncates each float in the list so that it is a whole number.
Returns a list that contains the elements of myList but with the float elements having their fractional parts removed.

• list mylist

See also: Lists

Specification

<lsl>list ListToWholeNumbers(list myList) {

   integer ListLength = llGetListLength(myList);
   integer i = -1;
   while (++i < ListLength)
   {
       if(TYPE_FLOAT == llGetListEntryType(myList, i))
       {
           float f = llList2Float(myList, i);
           if(llFabs(f) < 0x1000000)//can it have an fpart?
               f = (integer)f;
           myList = (myList = []) + llListReplaceList(myList, (list)f, i, i);
       }
   }
   return myList;

}</lsl>

Examples

<lsl>list myWholeNumberList = ListToWholeNumbers( [1.04, 10.789, 4.643] );//yields [1,10,4]</lsl>

]]