Difference between revisions of "LlRound"

From Second Life Wiki
Jump to: navigation, search
(Add caveat for values out of range)
m
Line 9: Line 9:
 
|caveats=The function returns -2147483648 (0x80000000) if the nearest integer value to the input would be outside of the range of valid integers (-2147483648 to 2147483647)
 
|caveats=The function returns -2147483648 (0x80000000) if the nearest integer value to the input would be outside of the range of valid integers (-2147483648 to 2147483647)
 
|constants
 
|constants
|examples=<lsl>default
+
|examples=
 +
{{{!}} class="sortable" width="100%" {{Prettytable}}
 +
{{!}}- {{Hl2}}
 +
! '''basic test'''
 +
! '''test with user-defined function'''
 +
{{!}}-
 +
{{!!}}
 +
<lsl>
 +
default
 
{
 
{
 
   state_entry()
 
   state_entry()
Line 31: Line 39:
 
       //Returns "The rounded value of 4.1 is: 4"
 
       //Returns "The rounded value of 4.1 is: 4"
 
     }
 
     }
}</lsl>
+
}
 +
</lsl>
 +
{{!!}}
 +
<lsl>
 +
publish_rounded_value_as_string(float input)
 +
{
 +
    llSay(PUBLIC_CHANNEL, "The rounded value of " + (string)input
 +
                        + "is: " + (string)llRound(input));
 +
}
 +
 
 +
default
 +
{
 +
  state_entry()
 +
  {
 +
      publish_rounded_value_as_string(-4.5);
 +
      //  "The rounded value of -4.5 is: -4"
 +
 
 +
      publish_rounded_value_as_string(-4.9);
 +
      //  "The rounded value of -4.9 is: -5"
 +
 
 +
      publish_rounded_value_as_string(-4.1);
 +
      //  "The rounded value of -4.1 is: -4"
 +
 
 +
      publish_rounded_value_as_string(4.5);
 +
      //  "The rounded value of 4.5 is: 5"
 +
 
 +
      publish_rounded_value_as_string(4.9);
 +
      //  "The rounded value of 4.9 is: 5"
 +
 
 +
      publish_rounded_value_as_string(4.1);
 +
      //  "The rounded value of 4.1 is: 4"
 +
    }
 +
}
 +
</lsl>
 +
{{!}}}
 
|helpers
 
|helpers
 
|also_functions={{LSL DefineRow||[[llCeil]]|Rounds the float to an integer towards positive infinity}}
 
|also_functions={{LSL DefineRow||[[llCeil]]|Rounds the float to an integer towards positive infinity}}

Revision as of 15:09, 20 January 2014

Summary

Function: integer llRound( float val );

Returns the integer that val is closest to.

• float val Any valid float value

If the absolute value of the tenths position is 4 or less, val is rounded off; otherwise, val is rounded towards infinity of like signedness of val.

Caveats

The function returns -2147483648 (0x80000000) if the nearest integer value to the input would be outside of the range of valid integers (-2147483648 to 2147483647)

All Issues ~ Search JIRA for related Bugs

Examples

basic test test with user-defined function

<lsl> default {

  state_entry()
  {
      llSay(0,"The rounded value of -4.5 is: "+(string)llRound(-4.5) );
      //Returns "The rounded value of -4.5 is: -4"
      
      llSay(0,"The rounded value of -4.9 is: "+(string)llRound(-4.9) );
      //Returns "The rounded value of -4.9 is: -5"
      
      llSay(0,"The rounded value of -4.1 is: "+(string)llRound(-4.1) );
      //Returns "The rounded value of -4.1 is: -4"
      
      llSay(0,"The rounded value of 4.5 is: "+(string)llRound(4.5) );
      //Returns "The rounded value of 4.5 is: 5"
      
      llSay(0,"The rounded value of 4.9 is: "+(string)llRound(4.9) );
      //Returns "The rounded value of 4.9 is: 5"
      
      llSay(0,"The rounded value of 4.1 is: "+(string)llRound(4.1) );
      //Returns "The rounded value of 4.1 is: 4"
   }

} </lsl>

<lsl> publish_rounded_value_as_string(float input) {

   llSay(PUBLIC_CHANNEL, "The rounded value of " + (string)input
                       + "is: " + (string)llRound(input));

}

default {

  state_entry()
  {
      publish_rounded_value_as_string(-4.5);
      //  "The rounded value of -4.5 is: -4"
      publish_rounded_value_as_string(-4.9);
      //  "The rounded value of -4.9 is: -5"
      publish_rounded_value_as_string(-4.1);
      //  "The rounded value of -4.1 is: -4"
      publish_rounded_value_as_string(4.5);
      //  "The rounded value of 4.5 is: 5"
      publish_rounded_value_as_string(4.9);
      //  "The rounded value of 4.9 is: 5"
      publish_rounded_value_as_string(4.1);
      //  "The rounded value of 4.1 is: 4"
   }

} </lsl>

See Also

Functions

•  llCeil Rounds the float to an integer towards positive infinity
•  llFloor Rounds the float to an integer towards negative infinity

Deep Notes

Search JIRA for related Issues

Signature

function integer llRound( float val );