PhysicalValues/en
Expecco supports values with units to represent physical values such as length, acceleration, area, volume, mass, temperature etc.
Physical values are useful for a nicer presentation of values (eg. in a report) and to convert between unit systems (eg. metric vs. imperial vs. US).
Physical values are implemented by the underlying Smalltalk system and can be used in JavaScript and Smalltalk elementary blocks. Similar public domain packages are available for Node and Python actions - these have to be installed with "rpm"or "pip".
Inhaltsverzeichnis
Base Units[Bearbeiten]
All base units are measured in their corresponding SI standard notation. For example, a mass, which has a base unit of kilogram ("kg") will print itself as "kg', 'mg', 'µg' etc. depending on its magnitude. Explicit converters can be used to enforce a particular unit printing (eg. if you insist on printing a mass in pounds, in grams, etc.). See examples below on how those converters affect the printout of a value. Base units are:
s second time m metre length kg kilogram mass A ampere electric current K kelvin temperature mol mole amount of substance cd candela luminous intensity
SI Prefix[Bearbeiten]
Numbers can be scaled by an SI prefix message. For example:
1 gram -> '1 g'
whereas
1 micro gram -> '1 µg'
Possible scaling names are: 'atto', 'femto', 'pico', 'nano', 'micro', 'milli', 'kilo', 'mega', 'giga', 'tera', 'peta' (among others).
Mass[Bearbeiten]
Mass is measured in units of kilogram. The following operations return an instance of a mass (i.e. a value with a unit of "Mass"):
- number kiloGram
Generates a mass-value of n kilograms. Same asnumber kilo gram
.
- number gram
Generates a mass-value of n grams.
- number milliGram
Generates a mass-value of n milligrams. Same asnumber milli gram
.
- number microGram
Generates a mass-value of n micrograms. Same asnumber micro gram
.
Conversion[Bearbeiten]
- aMass asGrams
Returns the original mass but enforces explicit printing in grams.
- aMass asMilliGrams
Enforces explicit printing in milligrams.
- aMass asKiloGrams
Enforces explicit printing in kilograms.
Length[Bearbeiten]
- number meter
Generates a length-value of n meters.
- number milliMeter
Generates a length-value of n millimeters.
- number microMeter
Generates a length-value of n micrometers.
- number kiloMeter
Generates a length-value of n kilometers.
Temperature[Bearbeiten]
- number kelvin
Generates an temperature-value of n Kelvin.
- number degreesCelcius
Generates an temperature-value of n degrees Celsius.
- number degreesFahrenheit
Generates an temperature-value of n degrees Fahrenheit.
Frequency[Bearbeiten]
- number hertz
Generates an frequency-value of n hertz.
- number kiloHertz
Generates an frequency-value of n kilohertz.
- number megaHertz
Generates an frequency-value of n megahertz.
- number gigaHertz
Generates an frequency-value of n gigahertz.
Energy[Bearbeiten]
- number joule
Generates an energy-value of n joule.
- number kiloJoule
Generates an energy-value of n kilojoule.
- number megaJoule
Generates an energy-value of n megajoule.
- number kiloWattHours
Generates an energy-value of n kiloWattHours.
Power[Bearbeiten]
- number watt
Generates a power-value of n watt.
- number kiloWatt
Generates a power-value of n kiloWatt.
- number megaWatt
Generates a power-value of n megaWatt.
- number gigaWatt
Generates a power-value of n gigaWatt.
Area[Bearbeiten]
- number squareMeter
Generates an area-value of n square meters.
- number hectare
Generates an area-value of n hectares.
Volume[Bearbeiten]
- number liter
Generates an volume-value of n liters.
- number milliLiter
Generates a length-value of n milliliters.
Mass Density[Bearbeiten]
This is a derived unit, which is generated when dividing a mass by a volume; eg:
10 kiloGram / 1 liter
gives
'10000 kg / m³'
Examples[Bearbeiten]
1 kiloGram + 10.0 gram -> '1.01 kg'
10 gram -> '10 g'
10 gram asKiloGrams -> '0.01 kg'
10 gram asMilliGrams -> '10000 mg'
1 microGram -> '1 µg'
1 micro gram -> '1 µg'
1 micro inch -> '25.4 nm'