Skip to content

putridparrot/FSharp.Units

Repository files navigation

FSharp.Units

Build FSharp.Units NuGet version (FSharp.Units) GitHub license GitHub Releases GitHub Issues

The main aim for this project was to produce conversion functions for the various units of measurement (listed below). The code and the unit tests are auto-generated by the UnitCodeGenerator tool. Hence any changes need to made within the definitions file.

The code is written in the style of F# if you're after something aimed at C# checkout PutridParrot.Units.

Package available via nuget

Unit conversions also available for

C#
Dart
Go
Java
Python
Rust
Swift
TypeScript

Example

Example of usage:

let fahrenheit = C.toFahrenheit 12.<C>

let celsius = C.create someValue

Each unit of measure then includes functions to convert to each for example, converting each Temperature unit of measure to each other Temperature - it also includes a function to take a value and apply a unit of measure to it.

Angle

* Degrees (deg)
* Gradians (grad)
* Milliradians (mrad)
* Minute Of Arc (arcmin)
* Radians (rad)
* Seconds Of Arc (arcseconds)

Area

* Acres (acre)
* Hectares (hectare)
* Square Feet (feet2)
* Square Inches (inch2)
* Square Kilometres (km2)
* Square Metres (m2)
* Square Miles (mile2)
* Square Yards (yard2)

Data Storage

* Bits (b)
* Gigabits (Gb)
* Gigabytes (GB)
* Kibibits (kibibit)
* Kilobits (k)
* Kilobytes (KB)
* Mebibits (mebibit)
* Megabits (Mb)
* Megabytes (MB)
* Terabits (Tb)
* Terabytes (TB)

Data Transfer Rate

* Bits Per Second (bps)
* GigaBits Per Second (Gbps)
* GigaBytes Per Second (GBps)
* Kibibits Per Second (Kibitps)
* KiloBits Per Second (kbps)
* KiloBytes Per Second (kBps)
* Mebibits Per Second (Mibit)
* MegaBits Per Second (Mbps)
* MegaBytes Per Second (MBps)
* TeraBits Per Second (Tbps)
* TeraBytes Per Second (TBps)

Energy

* Btu (btu)
* Calories (cal)
* Electronvolts (eV)
* Foot Pounds (ftlb)
* Joules (J)
* Kilocalories (kCal)
* Kilojoules (kJ)
* Kilowatt Hours (kWh)
* US Therms (ustherm)
* Watt Hours (Wh)

Force

* Dynes (dyn)
* Kilogram-force (kp)
* Newtons (N)
* Poundals (pdl)

Frequency

* Gigahertz (GHz)
* Hertz (Hz)
* Kilohertz (kHz)
* Megahertz (MHz)

Fuel Economy

* Kilometre Per Litre (kml)
* Litres Per 100 Kilometres (l100km)
* Miles Per Gallon (mpg)
* US Miles Per Gallon (usmpg)

Length

* Centimetres (cm)
* Feet (ft)
* Inches (inch)
* Kilometres (km)
* Metres (m)
* Miles (mile)
* Millimetres (mm)
* Nautical Miles (NM)
* Yards (yard)

Luminous Energy

* LumenHour (lmh)
* LumenMinute (lmmin)
* LumenSecond (lms)
* Talbot (T)

Magnetomotive Force

* Ampere-turns (AT)
* Gilberts (Gi)

Mass

* Carats (ct)
* Grams (g)
* Kilograms (kg)
* Milligrams (mg)
* Ounces (oz)
* Pounds (lb)
* Stones (stone)
* Tonnes (tonne)

Power

* Mechanical Horse Power (hp)
* Metric Horse Power (ps)

Pressure

* Atmospheres (atm)
* Bars (b)
* Pascals (Pa)
* Psi (psi)
* Torrs (Torr)

Speed

* Feet Per Second (fps)
* Kilometres Per Hour (kph)
* Knots (knot)
* Metres Per Second (mps)
* Miles Per Hour (mph)

Temperature

* Celsius (C)
* Fahrenheit (F)
* Kelvin (K)
* Rankine (R)
* Reaumur (r)

Time

* Centuries (century)
* Days (day)
* Decades (decade)
* Hours (hour)
* Microseconds (microsecond)
* Milliseconds (millisecond)
* Minutes (minute)
* Months (month)
* Nanoseconds (nanosecond)
* Seconds (second)
* Weeks (week)
* Years (year)

Volume

* Cubic Feet (feet3)
* Cubic Inches (inch3)
* Cubic Metres (m3)
* Fluid Ounces (floz)
* Gallons (gal)
* Kilolitres (kl)
* Litres (l)
* Millilitres (ml)
* Oil Barrels (oilbarrel)
* Pints (pt)
* Quarts (qt)
* Tablespoons (tbsp)
* Teaspoons (tsp)
* US Cups (uscup)
* US Fluid Ounces (usfloz)
* US Gallons (usgal)
* US Pints (uspt)
* US Quarts (usqt)
* US Tablespoons (ustbsp)
* US Teaspoons (ustsp)

Apps

The "My Unit Conversions" app. (for Android, iOS and Windows) uses the C# (PutridParrot.Units) version of this library and can be obtained from the following stores/locations.

Get it on Google Play Download on the Apple Store Available on Fire Available on Windows

The Mac version of the app. uses this Swift package and can be obtained from the following location

Download on the Apple Store