Difference between revisions of "LlRound"

From Second Life Wiki
Jump to navigation Jump to search
m (plain English)
(Not an accuracy issue. N.5 is always exactly representable. It's just the behavior for negatives. Document it.)
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
Line 31: Line 31:
       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: -4"
       //Returns "The rounded value of -4.5 is: -4"
      // Note: the above result not -5 as would be expected, due to the inaccuracy involved in storing -4.5 as a float
     }
     }
}</lsl>
}</lsl>

Revision as of 07:22, 14 June 2014

Summary

Function: integer llRound( float val );
0.0 Forced Delay
10.0 Energy

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

Examples

<lsl>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"
   }
}</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

Signature

function integer llRound( float val );