Difference between revisions of "Meter2Feet"
Jump to navigation
Jump to search
Huney Jewell (talk | contribs) m (1 ft = 0.3048m, see here: http://en.wikipedia.org/wiki/Foot_%28unit_of_length%29) |
|||
Line 15: | Line 15: | ||
string Meter2Feet( float meter ) | string Meter2Feet( float meter ) | ||
{ | { | ||
float fraction = meter / 0. | float fraction = meter / 0.3048; // Compute feet | ||
integer feet = (integer)fraction; | integer feet = (integer)fraction; | ||
Line 39: | Line 39: | ||
string Meter2Feet( float meter ) | string Meter2Feet( float meter ) | ||
{ | { | ||
float fraction = meter / 0. | float fraction = meter / 0.3048; // Compute feet | ||
integer feet = (integer)fraction; | integer feet = (integer)fraction; | ||
Revision as of 07:21, 12 September 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Specification
string Meter2Feet( float meter ) { float fraction = meter / 0.3048; // Compute feet integer feet = (integer)fraction; fraction = (fraction - feet) * 12; // Compute inches integer inches = (integer)fraction; fraction = llRound((fraction - inches) * 16); // Compute 1/16 inches string strFraction = ""; if (fraction) // show fraction value only if not zero strFraction = " " + (string)llAbs((integer)fraction) + "/16"; return ((string)feet + "' " + (string)llAbs(inches) + strFraction+ "\""); }
Example
Trivial example to listen to any chat from the object owner for meter values and respond feet/inch value.
string Meter2Feet( float meter ) { float fraction = meter / 0.3048; // Compute feet integer feet = (integer)fraction; fraction = (fraction - feet) * 12; // Compute inches integer inches = (integer)fraction; fraction = llRound((fraction - inches) * 16); // Compute 1/16 inches string strFraction = ""; if (fraction) // show fraction value only if not zero strFraction = " " + (string)llAbs((integer)fraction) + "/16"; return ((string)feet + "' " + (string)llAbs(inches) + strFraction+ "\""); } default { state_entry() { llOwnerSay("Enter: [m]"); llListen(0, "", llGetOwner(), ""); } listen(integer _chan, string _str, key _id, string _msg) { float meter = (float)_msg; llOwnerSay(Meter2Feet(meter)); } touch_start(integer n) { llOwnerSay( Meter2Feet( llVecDist( llGetPos(), llDetectedPos(0)))); } }