A library for unit conversions.
Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greasyfork.org/scripts/519002/1613477/Units%20Converter.js
To always have the latest version, use:
// @require https://update.greasyfork.org/scripts/519002/Units%20Converter.js
The library supports 27 units of measurement that are:
The conversions are:
| Conversion | Example Input | Example Output |
|---|---|---|
| Inches ⇄ Centimeters | 72in, 72″ | 182.88 cm |
| Millimeters ➜ Inches | 50mm | 1.97in |
| Meters ⇄ Feet | 6.50 ft | 1.98 m |
| Yards ➜ Meters | 239 yd | 218.46 m |
| Ounces ⇄ Grams | 1.76 oz | 49.90 g |
| Kilometers ⇄ Miles | 60mi | 96.54 km |
| Kilometers per hour ⇄ Miles per hour | 62.14mph | 99.98 km/h |
| °F ⇄ °C | 39°C | 102.20°F |
| Milliliters ⇄ Fluid ounces | 49.98 ml | 1.69 fl |
| Liters ⇄ Gallons | 2.06 gal | 7.80 l |
| Kilowatts ⇄ Mechanical HorsePower | 700kW | 938.70 mhp |
| Miles per Gallon ⇄ Liters per 100 Kilometers | 33.6mpg | 7l/100km |
| Liquid Quarts ⇄ Liters | 4 qt | 3.78 l |
| Foot-Pounds ⇄ Newton-Meters | 250lb ft | 338.95 N·m |
This library provides a simple framework to convert units of measurement for the script https://greasyfork.org/en/scripts/419825. It supports various unit types (e.g., length, weight, volume, temperature) and handles conversions with single or compound values.
To see the latest const Units regex and a real usage scenario, check https://greasyfork.org/en/scripts/419825.
"150 pounds" → Outputs: "68.03 kg"
"10x20 inches" → Outputs: "25.40 x 50.80 cm"
"5^3" → Outputs: "125 power"
Regex Matching for Units
const UnitType = "150 pounds".match(Units)[3].toLowerCase(); // Extracts the unit type
Value Extraction
const Units = new RegExp(
/^[ \t\xA0]*(-?\d+(?:[., ]\d+)?)(?:[ \t\xA0]*x[ \t\xA0]*(-?\d+(?:[., ]\d+)?))?[ \t\xA0]*
(in|inch|inches|"|”|″|cm|cms|centimeters? \ |m|mt|mts|meters?|ft|kg|lbs?|pounds?|kilograms?|ounces?|
g|ozs?|fl oz|fl oz (us)|fluid ounces?|kphs?|km\/h|kilometers per hours?|mhp|mphs?|meters per hours?|
(?:°\s?|º\s?|)(?:degrees?\s+)?(?:celsius|fahrenheit|[CF])|km\/hs?|ml|milliliters?|l|liters?|litres?|
gal|gallons?|yards?|yd|Millimeter|millimetre|kilometers?|mi|mm|miles?|km|ft|fl|feets?|grams?|kilowatts?|
kws?|brake horsepower|mechanical horsepower|hps?|bhps?|miles per gallons?|mpgs?|liters per 100 kilometers?|
lt?\/100km|liquid quarts?|lqs?|qt|foot-? ?pounds?|ft-?lbs?|lb fts?|newton-? ?meters?|n·?m|\^\d+)
[ \t\xA0]*(?:\(\w+\)[ \t\xA0]*)?$/i
);
const UnitValue = "150 pounds".match(Units)[1].replaceAll(',', '.'); // Extracts numeric value
const SecondUnitValue = "150 pounds".match(Units)[2]?.replaceAll(',', '.') || 0; // Extracts second value if present
Value Conversion
const convertValue = (value, unitType) => {
const { factor, convert } = window.UConv[unitType] || {};
return convert ? convert(value) : value * factor; // Converts value using factor or custom function
};
New Unit Detection
const NewUnit = window.UConv[UnitType]?.unit || UnitType; // Detects target unit
Final Conversion Output
const ConvertedUnit = `${convertValue(parseFloat(UnitValue), UnitType).toFixed(2)}${SecondUnitValue != 0 ? ` x ${convertValue(parseFloat(
SecondUnitValue), UnitType).toFixed(2)}` : ''}`; // Formats output
Special Cases
const ConvertedUnit = "5^3".match(/\^(\d+\.?\d*)/)
? (NewUnit = 'power', Math.pow(parseFloat(UnitValue), parseFloat("5^3".match(/\^(\d+\.?\d*)/)[1])))
: ConvertedUnit; // Handles powers
Display Conversion
ShowConvertion('Units', NewUnit, ConvertedUnit); // Displays result
To add new units, modify the addConversion function in the UConv library:
addConversion(['unit1', 'unit2'], 'targetUnit', conversionFactor, optionalConvertFunction);
Example:
addConversion(['pound', 'lb'], 'kg', 0.453592); // Adds "pound" conversion to kilograms
UConv.