Primordyx Framework Documentation

Conversions
in package

Class Conversions

A comprehensive utility class providing static methods for converting between various units of measurement including weight, temperature, length, and fractions. This class supports common conversions for both imperial and metric systems, mathematical fraction operations, and specialized formatting functions.

Key features:

  • Weight conversions (ounces, grams, pounds, kilograms)
  • Temperature conversions (Celsius, Fahrenheit, Kelvin) with validation methods
  • Length conversions (millimeters, inches, centimeters, feet, meters, yards)
  • Comprehensive fraction operations (arithmetic, formatting, parsing)
  • Mixed number handling and standard fraction approximations

All conversion factors use precise values from international standards. Fraction operations include GCD/LCM calculations for proper reduction.

Tags
since
1.0.0

Table of Contents

Methods

addFractions()  : string
Adds two fractions and returns the result in reduced form.
celsiusToFahrenheit()  : float
Converts Celsius to Fahrenheit.
celsiusToKelvin()  : float
Converts Celsius to Kelvin.
centimetersToInches()  : float
Converts centimeters to inches.
convertTemperature()  : float
Converts temperature between any supported units using a unified interface.
decimalToFraction()  : string
Converts a decimal number to its closest fraction representation.
divideFractions()  : string
Divides the first fraction by the second and returns the result in reduced form.
fahrenheitToCelsius()  : float
Converts Fahrenheit to Celsius.
fahrenheitToKelvin()  : float
Converts Fahrenheit to Kelvin.
feetToInches()  : float
Converts feet to inches.
feetToMeters()  : float
Converts feet to meters.
formatFraction()  : string
Formats a fraction string, converting improper fractions to whole numbers when appropriate.
fractionToDecimal()  : float
Converts a fraction string to its decimal equivalent.
fractionToMillimeters()  : float
Converts a fraction string to millimeters (assuming fraction represents inches).
gramsToKilograms()  : float
Converts grams to kilograms.
gramsToOunces()  : float
Converts grams to ounces.
improperToMixed()  : string
Converts an improper fraction to a mixed number.
inchesToCentimeters()  : float
Converts inches to centimeters.
inchesToFeet()  : float
Converts inches to feet.
inchesToMillimeters()  : float
Converts inches to millimeters.
inchesToMMFraction()  : string
Converts inches to millimeters and returns as a fraction string.
isBoilingPoint()  : bool
Checks if a temperature represents the boiling point of water.
isFreezingPoint()  : bool
Checks if a temperature represents the freezing point of water.
isValidFraction()  : bool
Validates whether a string represents a valid fraction format.
kelvinToCelsius()  : float
Converts Kelvin to Celsius.
kelvinToFahrenheit()  : float
Converts Kelvin to Fahrenheit.
kilogramsToGrams()  : float
Converts kilograms to grams.
kilogramsToPounds()  : float
Converts kilograms to pounds.
metersToFeet()  : float
Converts meters to feet.
metersToYards()  : float
Converts meters to yards.
millimetersToClosestFraction()  : string
Converts millimeters to inches and returns as closest fraction string.
millimetersToInches()  : float
Converts millimeters to inches.
mixedToImproper()  : string
Converts a mixed number to an improper fraction.
multiplyFractions()  : string
Multiplies two fractions and returns the result in reduced form.
nearestStandardFraction()  : string
Finds the closest standard fraction to a given decimal value.
ouncesToGrams()  : float
Converts ounces to grams.
ouncesToPounds()  : float
Converts ounces to pounds.
parseMixedFraction()  : float
Parses mixed fraction input and converts to decimal.
poundsToKilograms()  : float
Converts pounds to kilograms.
poundsToOunces()  : float
Converts pounds to ounces.
reduceFraction()  : string
Reduces a fraction to its lowest terms using GCD.
roundToNearestMillimeter()  : float
Converts inches to millimeters and rounds to the nearest whole millimeter.
subtractFractions()  : string
Subtracts the second fraction from the first and returns the result in reduced form.
yardsToMeters()  : float
Converts yards to meters.
gcd()  : int
Calculates the Greatest Common Divisor of two integers using Euclidean algorithm.
lcm()  : int
Calculates the Least Common Multiple of two integers.

Methods

addFractions()

Adds two fractions and returns the result in reduced form.

public static addFractions(string $f1, string $f2) : string
Parameters
$f1 : string

First fraction in "numerator/denominator" format

$f2 : string

Second fraction in "numerator/denominator" format

Return values
string

Sum as a reduced fraction string

celsiusToFahrenheit()

Converts Celsius to Fahrenheit.

public static celsiusToFahrenheit(float $c) : float

Uses the formula: F = (C × 9/5) + 32

Parameters
$c : float

Temperature in Celsius

Return values
float

Temperature in Fahrenheit

celsiusToKelvin()

Converts Celsius to Kelvin.

public static celsiusToKelvin(float $c) : float

Uses the formula: K = C + 273.15

Parameters
$c : float

Temperature in Celsius

Return values
float

Temperature in Kelvin

centimetersToInches()

Converts centimeters to inches.

public static centimetersToInches(float $cm) : float

Uses the international definition: 1 inch = 2.54 centimeters exactly

Parameters
$cm : float

Length in centimeters

Return values
float

Length in inches

convertTemperature()

Converts temperature between any supported units using a unified interface.

public static convertTemperature(float $value, string $from, string $to) : float

Supports conversions between Celsius (c), Fahrenheit (f), and Kelvin (k). Case-insensitive unit specifications.

Parameters
$value : float

Temperature value to convert

$from : string

Source unit ('c', 'f', or 'k')

$to : string

Target unit ('c', 'f', or 'k')

Tags
throws
InvalidArgumentException

If conversion combination is invalid

Return values
float

Converted temperature value

decimalToFraction()

Converts a decimal number to its closest fraction representation.

public static decimalToFraction(float $decimal[, int $precision = 16 ]) : string

Uses an iterative algorithm to find the fraction with the smallest error within the specified precision (maximum denominator). Handles mixed numbers by separating whole and fractional parts.

Parameters
$decimal : float

Decimal number to convert

$precision : int = 16

Maximum denominator to consider (default: 16)

Return values
string

Fraction string, potentially including whole number part

divideFractions()

Divides the first fraction by the second and returns the result in reduced form.

public static divideFractions(string $f1, string $f2) : string
Parameters
$f1 : string

Dividend fraction in "numerator/denominator" format

$f2 : string

Divisor fraction in "numerator/denominator" format

Return values
string

Quotient as a reduced fraction string

fahrenheitToCelsius()

Converts Fahrenheit to Celsius.

public static fahrenheitToCelsius(float $f) : float

Uses the formula: C = (F - 32) × 5/9

Parameters
$f : float

Temperature in Fahrenheit

Return values
float

Temperature in Celsius

fahrenheitToKelvin()

Converts Fahrenheit to Kelvin.

public static fahrenheitToKelvin(float $f) : float

Combines Fahrenheit to Celsius conversion with Celsius to Kelvin

Parameters
$f : float

Temperature in Fahrenheit

Return values
float

Temperature in Kelvin

feetToInches()

Converts feet to inches.

public static feetToInches(float $ft) : float

Uses the standard definition: 1 foot = 12 inches

Parameters
$ft : float

Length in feet

Return values
float

Length in inches

feetToMeters()

Converts feet to meters.

public static feetToMeters(float $ft) : float

Uses the international foot definition: 1 foot = 0.3048 meters exactly

Parameters
$ft : float

Length in feet

Return values
float

Length in meters

formatFraction()

Formats a fraction string, converting improper fractions to whole numbers when appropriate.

public static formatFraction(string $fraction) : string

If the numerator is evenly divisible by the denominator, returns the whole number. Otherwise, returns the fraction in reduced form.

Parameters
$fraction : string

Fraction in "numerator/denominator" format

Return values
string

Formatted fraction or whole number string

fractionToDecimal()

Converts a fraction string to its decimal equivalent.

public static fractionToDecimal(string $fraction) : float

Handles both simple fractions (e.g., "3/4") and whole numbers. Uses array_reduce for elegant division chain handling.

Parameters
$fraction : string

Fraction in format "numerator/denominator" or whole number

Return values
float

Decimal equivalent of the fraction

fractionToMillimeters()

Converts a fraction string to millimeters (assuming fraction represents inches).

public static fractionToMillimeters(string $fraction) : float
Parameters
$fraction : string

Fraction representing inches

Return values
float

Length in millimeters, rounded to 2 decimal places

gramsToKilograms()

Converts grams to kilograms.

public static gramsToKilograms(float $g) : float

Uses metric system definition: 1 kilogram = 1000 grams

Parameters
$g : float

Weight in grams

Return values
float

Weight in kilograms

gramsToOunces()

Converts grams to ounces.

public static gramsToOunces(float $grams) : float

Uses the standard conversion factor: 1 gram = 1/28.3495 ounces

Parameters
$grams : float

Weight in grams

Return values
float

Weight in ounces

improperToMixed()

Converts an improper fraction to a mixed number.

public static improperToMixed(string $improper) : string
Parameters
$improper : string

Improper fraction in "numerator/denominator" format

Return values
string

Mixed number string or whole number if no remainder

inchesToCentimeters()

Converts inches to centimeters.

public static inchesToCentimeters(float $in) : float

Uses the international definition: 1 inch = 2.54 centimeters exactly

Parameters
$in : float

Length in inches

Return values
float

Length in centimeters

inchesToFeet()

Converts inches to feet.

public static inchesToFeet(float $in) : float

Uses the standard definition: 1 foot = 12 inches

Parameters
$in : float

Length in inches

Return values
float

Length in feet

inchesToMillimeters()

Converts inches to millimeters.

public static inchesToMillimeters(float $in) : float

Uses the international definition: 1 inch = 25.4 millimeters exactly

Parameters
$in : float

Length in inches

Return values
float

Length in millimeters

inchesToMMFraction()

Converts inches to millimeters and returns as a fraction string.

public static inchesToMMFraction(float $inches[, int $precision = 16 ]) : string
Parameters
$inches : float

Length in inches

$precision : int = 16

Maximum denominator for fraction approximation (default: 16)

Return values
string

Millimeter measurement as a fraction string

isBoilingPoint()

Checks if a temperature represents the boiling point of water.

public static isBoilingPoint(float $temp, string $unit) : bool

Uses a tolerance of 0.01 degrees to account for floating-point precision. Reference points: 100°C, 212°F, 373.15K

Parameters
$temp : float

Temperature value to check

$unit : string

Temperature unit ('c', 'f', or 'k')

Return values
bool

True if temperature is at boiling point

isFreezingPoint()

Checks if a temperature represents the freezing point of water.

public static isFreezingPoint(float $temp, string $unit) : bool

Uses a tolerance of 0.01 degrees to account for floating-point precision. Reference points: 0°C, 32°F, 273.15K

Parameters
$temp : float

Temperature value to check

$unit : string

Temperature unit ('c', 'f', or 'k')

Return values
bool

True if temperature is at freezing point

isValidFraction()

Validates whether a string represents a valid fraction format.

public static isValidFraction(string $input) : bool

Checks for proper fraction format with optional negative sign. Pattern: optional minus, digits, slash, digits

Parameters
$input : string

String to validate as fraction

Return values
bool

True if input matches valid fraction pattern

kelvinToCelsius()

Converts Kelvin to Celsius.

public static kelvinToCelsius(float $k) : float

Uses the formula: C = K - 273.15

Parameters
$k : float

Temperature in Kelvin

Return values
float

Temperature in Celsius

kelvinToFahrenheit()

Converts Kelvin to Fahrenheit.

public static kelvinToFahrenheit(float $k) : float

Combines Kelvin to Celsius conversion with Celsius to Fahrenheit

Parameters
$k : float

Temperature in Kelvin

Return values
float

Temperature in Fahrenheit

kilogramsToGrams()

Converts kilograms to grams.

public static kilogramsToGrams(float $kg) : float

Uses metric system definition: 1 kilogram = 1000 grams

Parameters
$kg : float

Weight in kilograms

Return values
float

Weight in grams

kilogramsToPounds()

Converts kilograms to pounds.

public static kilogramsToPounds(float $kg) : float

Uses the international avoirdupois pound definition: 1 kilogram = 1/0.45359237 pounds

Parameters
$kg : float

Weight in kilograms

Return values
float

Weight in pounds

metersToFeet()

Converts meters to feet.

public static metersToFeet(float $m) : float

Uses the international foot definition: 1 foot = 0.3048 meters exactly

Parameters
$m : float

Length in meters

Return values
float

Length in feet

metersToYards()

Converts meters to yards.

public static metersToYards(float $m) : float

Uses the international yard definition: 1 yard = 0.9144 meters exactly

Parameters
$m : float

Length in meters

Return values
float

Length in yards

millimetersToClosestFraction()

Converts millimeters to inches and returns as closest fraction string.

public static millimetersToClosestFraction(float $mm[, int $precision = 16 ]) : string
Parameters
$mm : float

Length in millimeters

$precision : int = 16

Maximum denominator for fraction approximation (default: 16)

Return values
string

Inch measurement as a fraction string

millimetersToInches()

Converts millimeters to inches.

public static millimetersToInches(float $mm) : float

Uses the international definition: 1 inch = 25.4 millimeters exactly

Parameters
$mm : float

Length in millimeters

Return values
float

Length in inches

mixedToImproper()

Converts a mixed number to an improper fraction.

public static mixedToImproper(string $mixed) : string

Handles strings in format "whole fraction" (e.g., "2 3/4") and converts to improper fraction format (e.g., "11/4").

Parameters
$mixed : string

Mixed number in "whole numerator/denominator" format

Return values
string

Improper fraction string

multiplyFractions()

Multiplies two fractions and returns the result in reduced form.

public static multiplyFractions(string $f1, string $f2) : string
Parameters
$f1 : string

First fraction in "numerator/denominator" format

$f2 : string

Second fraction in "numerator/denominator" format

Return values
string

Product as a reduced fraction string

nearestStandardFraction()

Finds the closest standard fraction to a given decimal value.

public static nearestStandardFraction(float $decimal[, array<string|int, mixed> $options = ['1/2', '1/4', '1/8', '1/16'] ]) : string

Compares the decimal against a list of common fractions and returns the one with the smallest absolute difference.

Parameters
$decimal : float

Decimal value to approximate

$options : array<string|int, mixed> = ['1/2', '1/4', '1/8', '1/16']

Array of fraction strings to choose from

Return values
string

Closest matching fraction from the options

ouncesToGrams()

Converts ounces to grams.

public static ouncesToGrams(float $oz) : float

Uses the standard conversion factor: 1 ounce = 28.3495 grams

Parameters
$oz : float

Weight in ounces

Return values
float

Weight in grams

ouncesToPounds()

Converts ounces to pounds.

public static ouncesToPounds(float $oz) : float

Uses the standard definition: 1 pound = 16 ounces

Parameters
$oz : float

Weight in ounces

Return values
float

Weight in pounds

parseMixedFraction()

Parses mixed fraction input and converts to decimal.

public static parseMixedFraction(string $input) : float

Handles both mixed fractions ("2 3/4") and simple fractions ("3/4"). Uses regex to identify mixed fraction pattern and calculate accordingly.

Parameters
$input : string

Mixed fraction or simple fraction string

Return values
float

Decimal equivalent

poundsToKilograms()

Converts pounds to kilograms.

public static poundsToKilograms(float $lbs) : float

Uses the international avoirdupois pound definition: 1 pound = 0.45359237 kilograms

Parameters
$lbs : float

Weight in pounds

Return values
float

Weight in kilograms

poundsToOunces()

Converts pounds to ounces.

public static poundsToOunces(float $lbs) : float

Uses the standard definition: 1 pound = 16 ounces

Parameters
$lbs : float

Weight in pounds

Return values
float

Weight in ounces

reduceFraction()

Reduces a fraction to its lowest terms using GCD.

public static reduceFraction(string $fraction) : string
Parameters
$fraction : string

Fraction in "numerator/denominator" format

Return values
string

Reduced fraction string

roundToNearestMillimeter()

Converts inches to millimeters and rounds to the nearest whole millimeter.

public static roundToNearestMillimeter(float $inches) : float

Useful for practical measurements where sub-millimeter precision is not needed.

Parameters
$inches : float

Length in inches

Return values
float

Length in millimeters, rounded to nearest whole number

subtractFractions()

Subtracts the second fraction from the first and returns the result in reduced form.

public static subtractFractions(string $f1, string $f2) : string
Parameters
$f1 : string

First fraction (minuend) in "numerator/denominator" format

$f2 : string

Second fraction (subtrahend) in "numerator/denominator" format

Return values
string

Difference as a reduced fraction string

yardsToMeters()

Converts yards to meters.

public static yardsToMeters(float $yd) : float

Uses the international yard definition: 1 yard = 0.9144 meters exactly

Parameters
$yd : float

Length in yards

Return values
float

Length in meters

gcd()

Calculates the Greatest Common Divisor of two integers using Euclidean algorithm.

protected static gcd(int $a, int $b) : int

Recursive implementation that handles negative numbers by taking absolute values.

Parameters
$a : int

First integer

$b : int

Second integer

Return values
int

Greatest common divisor

lcm()

Calculates the Least Common Multiple of two integers.

protected static lcm(int $a, int $b) : int

Uses the relationship: LCM(a,b) = |a*b| / GCD(a,b)

Parameters
$a : int

First integer

$b : int

Second integer

Return values
int

Least common multiple


        
On this page

Search results