ConvertLength(numberValue, convertFrom, convertTo)
Last updated April 23, 2002
Version: 1 | Requires: ColdFusion 5 | Library: MathLib
Description:
Convert bewteen standard and metric lengths. Convert between any of these lengths: Inch, Foot, Yard, Mile, Millimeter, Centimeter, Meter, Kilometer.
Return Values:
Returns a numeric value.
Example:
7 miles is #ConvertLength("7","mile","centimeter")# centimeters.
</cfoutput>
Parameters:
| Name | Description | Required |
|---|---|---|
| numberValue | Value to be converted. | Yes |
| convertFrom | Type of unit to convert from. | Yes |
| convertTo | Type of unit to convert to. | Yes |
Full UDF Source:
<cfscript>
/**
* Convert bewteen standard and metric lengths.
*
* @param numberValue Value to be converted.
* @param convertFrom Type of unit to convert from.
* @param convertTo Type of unit to convert to.
* @return Returns a numeric value.
* @author Seth Duffey (sduffey@ci.davis.ca.us)
* @version 1, April 23, 2002
*/
function ConvertLength(NumberValue,ConvertFrom,ConvertTo) {
var ValuesArray = ArrayNew(1);
var LookupArray = ArrayNew(2);
var i = 1;
var ii = 1;
var GetMultiplier = 1;
/* Set Convertions Values */
ValuesArray[1] = "Inch,Foot,Yard,Mile,Millimeter,Centimeter,Meter,Kilometer";
ValuesArray[2] = "1,12,36,63360,1/25.4,1/2.54,1/0.0254,1/0.0000254";
ValuesArray[3] = "1/12,1,3,5280,1/304.8,1/30.48,1/0.3048,1/0.0003048";
ValuesArray[4] = "1/36,1/3,1,1760,1/914.4,1/91.44,1/0.9144,1/0.0009144";
ValuesArray[5] = "1/63360,1/5280,1/1760,1,1/1609334,1/160934.4,1/1609.344,1/1.609344";
ValuesArray[6] = "25.4,304.8,914.4,1609334,1,10,1000,1000000";
ValuesArray[7] = "2.54,30.48,91.44,160934.4,1/10,1,100,100000";
ValuesArray[8] = "0.0254,0.3048,0.9144,1609.344,1/1000,1/100,1,1000";
ValuesArray[9] = "0.0000254,0.0003048,0.0009144,1.609344,1/1000000,1/100000,1/1000,1";
/* Populate Lookup Array */
for (i=1; i LTE ArrayLen(ValuesArray); i=i+1)
{
for (ii=1; ii LTE ListLen(ValuesArray[i],","); ii=ii+1)
LookupArray[i][ii]= ListGetAt(ValuesArray[i],ii,",");
}
/* Find Multiplier and Calculate Result */
ConvertFrom = ListFindNoCase(ValuesArray[1],ConvertFrom,",");
ConvertTo = ListFindNoCase(ValuesArray[1],ConvertTo,",");
GetMultiplier = LookupArray[ConvertFrom+1][ConvertTo];
return NumberValue/evaluate(GetMultiplier);
}
</cfscript>
Search CFLib.org
Latest Additions
Dave Anderson added
iniToStruct
20 day(s) ago
Dave Anderson added
deDupeArray
20 day(s) ago
Richard added
dice
22 day(s) ago
Isaac Dealey added
getRelative
a while ago
Top Rated
backupDatabase
Rated 5.0, 22 time(s)
indentXml
Rated 5.0, 10 time(s)
generateSsccAsn
Rated 5.0, 4 time(s)
highlightAndCrop
Rated 5.0, 4 time(s)