Difference between revisions of "LlRound"

From Second Life Wiki
Jump to navigation Jump to search
(Undo revision 1187128 by Kireji Haiku (Talk))
m (<lsl> tag to <source>)
(6 intermediate revisions by 4 users not shown)
Line 2: Line 2:
|func=llRound|sort=Round
|func=llRound|sort=Round
|func_id=11|func_sleep=0.0|func_energy=10.0
|func_id=11|func_sleep=0.0|func_energy=10.0
|func_footnote=If the absolute value of the tenths position is 4 or less, {{LSLP|val}} is rounded off; otherwise, {{LSLP|val}} is rounded towards infinity of like signedness of {{LSLP|val}}.
|func_footnote=If the absolute value of the tenths position is 4 or less, {{LSLP|val}} is rounded off; otherwise, {{LSLP|val}} is rounded towards positive infinity.
|p1_type=float|p1_name=val|p1_desc=Any valid float value
|p1_type=float|p1_name=val|p1_desc=Any valid float value
|return_type=integer
|return_type=integer
|Return_text=that {{LSLP|val}} is closest to.
|Return_text=that {{LSLP|val}} is closest to.
|spec
|spec
|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 returned value is -2147483648 (0x80000000) if the arithmetic result is outside of the range of valid integers (-2147483648 to 2147483647 inclusive).
|constants
|constants
|examples=
|examples=<source lang="lsl2">default
{{{!}} class="sortable" width="100%" {{Prettytable}}
{{!}}- {{Hl2}}
! '''basic test'''
! '''test with user-defined function'''
{{!}}-
{{!!}}
<lsl>
default
{
{
   state_entry()
   state_entry()
   {
   {
       llSay(0,"The rounded value of -4.5 is: "+(string)llRound(-4.5) );
       llSay(0, "The rounded value of -4.9 is: "+(string)llRound(-4.9) );
      //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"
       //Returns "The rounded value of -4.9 is: -5"
        
        
       llSay(0,"The rounded value of -4.1 is: "+(string)llRound(-4.1) );
       llSay(0, "The rounded value of -4.1 is: "+(string)llRound(-4.1) );
       //Returns "The rounded value of -4.1 is: -4"
       //Returns "The rounded value of -4.1 is: -4"
        
        
       llSay(0,"The rounded value of 4.5 is: "+(string)llRound(4.5) );
       llSay(0, "The rounded value of 4.5 is: "+(string)llRound(4.5) );
       //Returns "The rounded value of 4.5 is: 5"
       //Returns "The rounded value of 4.5 is: 5"
        
        
       llSay(0,"The rounded value of 4.9 is: "+(string)llRound(4.9) );
       llSay(0, "The rounded value of 4.9 is: "+(string)llRound(4.9) );
       //Returns "The rounded value of 4.9 is: 5"
       //Returns "The rounded value of 4.9 is: 5"
        
        
       llSay(0,"The rounded value of 4.1 is: "+(string)llRound(4.1) );
       llSay(0, "The rounded value of 4.1 is: "+(string)llRound(4.1) );
       //Returns "The rounded value of 4.1 is: 4"
       //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
       llSay(0, "The rounded value of -4.5 is: "+(string)llRound(-4.5) );
{
       //Returns "The rounded value of -4.5 is: -4"
  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"
     }
     }
}
}</source>
</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 14:40, 22 January 2015

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 positive infinity.

Caveats

  • The returned value is -2147483648 (0x80000000) if the arithmetic result is outside of the range of valid integers (-2147483648 to 2147483647 inclusive).
All Issues ~ Search JIRA for related Bugs

Examples

default
{
   state_entry()
   {  
       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"

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

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 );