pottery-diary/src/lib/utils/conversions.ts

66 lines
1.3 KiB
TypeScript

import { Temperature, TemperatureUnit } from '../../types';
/**
* Convert Fahrenheit to Celsius
*/
export function fahrenheitToCelsius(f: number): number {
return (f - 32) * (5 / 9);
}
/**
* Convert Celsius to Fahrenheit
*/
export function celsiusToFahrenheit(c: number): number {
return (c * 9 / 5) + 32;
}
/**
* Convert temperature between units
*/
export function convertTemperature(temp: Temperature, toUnit: TemperatureUnit): Temperature {
if (temp.unit === toUnit) {
return temp;
}
const value = temp.unit === 'F'
? fahrenheitToCelsius(temp.value)
: celsiusToFahrenheit(temp.value);
return { value: Math.round(value), unit: toUnit };
}
/**
* Format temperature for display
*/
export function formatTemperature(temp: Temperature): string {
return `${temp.value}°${temp.unit}`;
}
/**
* Convert pounds to kilograms
*/
export function poundsToKilograms(lb: number): number {
return lb * 0.453592;
}
/**
* Convert kilograms to pounds
*/
export function kilogramsToPounds(kg: number): number {
return kg / 0.453592;
}
/**
* Convert inches to centimeters
*/
export function inchesToCentimeters(inches: number): number {
return inches * 2.54;
}
/**
* Convert centimeters to inches
*/
export function centimetersToInches(cm: number): number {
return cm / 2.54;
}