Skip to content
Powrót do bloga
Poradniki

Przewodnik po przeliczaniu jednostek: długość, waga, temperatura i objętość

Przeliczanie metryczne na imperialne z dokładnymi wzorami, przykładami w kodzie i tabelami referencyjnymi dla długości, wagi, temperatury i objętości.

14 min czytania

Kompletny przewodnik po przeliczaniu jednostek: wzory, kod i narzędzia dla każdej miary

Przepis wymaga 350 °F, a Ty znasz tylko stopnie Celsjusza. Etykieta wysyłkowa podaje 22 lbs, a system docelowy oczekuje kilogramów. Klient przesyła wymiary w stopach, a oprogramowanie CAD używa metrów. Przeliczanie jednostek to jedno z tych zadań, które brzmi trywialnie, dopóki się go nie pomyli — a konsekwencje sięgają od zepsutej kolacji aż po katastrofę sondy kosmicznej za 327 milionów dolarów.

Ten przewodnik obejmuje cztery typy miar, które przelicza się najczęściej — długość, wagę, temperaturę i objętość — z dokładnymi wzorami, kodem w JavaScript i Pythonie, który można skopiować do własnych projektów, oraz tabelami referencyjnymi do liczenia w pamięci.

Dlaczego przeliczanie jednostek wciąż sprawia problemy programistom

Można sądzić, że błędy jednostek to problem już rozwiązany. Tak nie jest.

W 1999 roku Mars Climate Orbiter NASA rozpadł się w atmosferze Marsa, ponieważ jeden zespół inżynierski używał funto-sił × sekund, a drugi niuto-sekund. Nikt nie wychwycił tej rozbieżności podczas miesięcy obliczeń trajektorii. Strata: 327,6 miliona dolarów.

W 1983 roku lot Air Canada 143 (znany jako „Gimli Glider”) skończyło paliwo w trakcie lotu, ponieważ obsługa naziemna obliczyła paliwo w funtach zamiast w kilogramach. Samolot miał mniej niż połowę paliwa, którego potrzebował.

To przypadki ekstremalne, ale mniejsze błędy jednostek zdarzają się stale:

  • Galon amerykański ≠ galon imperialny. Różnią się o około 20%. Porównanie zużycia paliwa między danymi amerykańskimi a brytyjskimi nie ma sensu bez wiedzy, o który galon chodzi.
  • Uncja trojańska ≠ zwykła uncja. Złoto wycenione na „1900 dolarów za uncję” odnosi się do uncji trojańskich (31,1 g), a nie uncji avoirdupois (28,35 g) z kuchennej wagi.
  • Przeliczanie temperatury nie jest liniowe. Nie wystarczy mnożyć — występuje przesunięcie, a jego pominięcie daje skrajnie błędne wyniki.

Metryczny vs imperialny: dwa systemy, jedna planeta

Zanim przejdziemy do wzorów, oto ogólny obraz.

WymiarMetryczny (SI)Imperialny / US Customary
Zasada projektowaDziesiętny — każda jednostka skaluje się przez potęgi 10Niekonsekwentny — 12 in/ft, 3 ft/yd, 5 280 ft/mi
Długośćmetr (m)stopa (ft), cal (in), mila (mi)
Masa / Wagakilogram (kg)funt (lb), uncja (oz)
TemperaturaCelsjusz (°C), Kelwin (K)Fahrenheit (°F)
Objętośćlitr (L)galon (gal), pinta (pt), cup
Używany przez~95% świataStany Zjednoczone, Mjanma, Liberia

System metryczny utrzymuje Międzynarodowe Biuro Miar i Wag (BIPM). Od 2019 roku wszystkie siedem podstawowych jednostek SI jest zdefiniowanych przez stałe fizyczne — prędkość światła, stałą Plancka, stałą Boltzmanna i inne. Oznacza to, że metr jest taki sam wszędzie we wszechświecie, z definicji.

System imperialny dzieli się w istocie na dwa warianty: US customary (używany w Ameryce) i Imperial (historycznie używany w Wielkiej Brytanii). Dzielą nazwy wielu jednostek, ale niektóre definiują inaczej — galony i uncje płynne nie mają na przykład tego samego rozmiaru.

Przeliczanie długości: wzory i kod

Długość to najczęściej przeliczany typ miary. Można skorzystać z naszego przelicznika długości dla natychmiastowych wyników lub użyć poniższych wzorów we własnym kodzie.

Kluczowe współczynniki przeliczania długości

Wszystkie poniższe wartości są dokładne, ustanowione przez międzynarodowe porozumienie o jardzie i funcie z 1959 roku:

PrzeliczenieWspółczynnikKierunek
cale → centymetry× 2,54dokładnie
stopy → metry× 0,3048dokładnie
jardy → metry× 0,9144dokładnie
mile → kilometry× 1,609344dokładnie
mile morskie → metry× 1 852dokładnie

Przedrostki metryczne ułatwiają resztę: 1 km = 1 000 m, 1 cm = 0,01 m, 1 mm = 0,001 m. Przechodzenie między jednostkami metrycznymi to po prostu przesuwanie przecinka dziesiętnego.

Przeliczanie długości w kodzie

JavaScript:

const lengthConvert = {
  inToCm:  (inches) => inches * 2.54,
  cmToIn:  (cm)     => cm / 2.54,
  ftToM:   (feet)   => feet * 0.3048,
  mToFt:   (m)      => m / 0.3048,
  miToKm:  (miles)  => miles * 1.609344,
  kmToMi:  (km)     => km / 1.609344,
};

console.log(lengthConvert.inToCm(27));   // 68.58 (27" monitor)
console.log(lengthConvert.miToKm(26.2)); // 42.164928 (marathon)
console.log(lengthConvert.mToFt(1.83));  // 6.003937... (6 ft person)

Python:

def inches_to_cm(inches: float) -> float:
    return inches * 2.54

def feet_to_meters(feet: float) -> float:
    return feet * 0.3048

def miles_to_km(miles: float) -> float:
    return miles * 1.609344

print(inches_to_cm(27))    # 68.58
print(miles_to_km(26.2))   # 42.164928

Sztuczki pamięciowe dla długości

  • Cale na cm: pomnożyć przez 2,5. Pomyłka rzędu 1,6%, wystarczająco dokładnie do codziennego użytku.
  • Mile na km: użyć ciągu Fibonacciego. Kolejne liczby Fibonacciego przybliżają stosunek przeliczenia: 5 mi ≈ 8 km, 8 mi ≈ 13 km, 13 mi ≈ 21 km.
  • Stopy na metry: podzielić przez 3,3. Osoba o wzroście 6 stóp ma około 1,82 m.

Szybkie odniesienie: długość

ImperialnyMetryczny
1 cal2,54 cm
1 stopa30,48 cm
6 stóp1,8288 m
1 jard0,9144 m
1 mila1,609 km
1 mila morska1,852 km

Przeliczanie wagi i masy: wzory i kod

Technicznie „waga” to siła grawitacji działająca na obiekt, a „masa” to ilość materii. W codziennym użyciu i w tym przewodniku traktujemy je wymiennie. Wartości można przeliczać natychmiast za pomocą naszego przelicznika wagi.

Kluczowe współczynniki przeliczania wagi

PrzeliczenieWspółczynnik
kilogramy → funty× 2,20462
funty → kilogramy× 0,453592
uncje (avoirdupois) → gramy× 28,3495
uncje trojańskie → gramy× 31,1035
stone → kilogramy× 6,35029
stone → funty× 14 (dokładnie)

Pułapka uncji trojańskiej

Przy pracy z metalami szlachetnymi, kamieniami szlachetnymi lub danymi finansowymi należy uważać: uncja trojańska (31,1035 g) jest około 10% cięższa niż standardowa uncja avoirdupois (28,3495 g). Złoto, srebro i platyna są zawsze wyceniane za uncję trojańską. Pomylenie ich w aplikacji finansowej oznacza, że obliczenia będą zaniżone lub zawyżone o 10% — kosztowny błąd.

Przeliczanie wagi w kodzie

JavaScript:

const weightConvert = {
  kgToLbs:    (kg)  => kg * 2.20462,
  lbsToKg:    (lbs) => lbs * 0.453592,
  ozToGrams:  (oz)  => oz * 28.3495,
  gramsToOz:  (g)   => g / 28.3495,
  stoneToKg:  (st)  => st * 6.35029,
};

console.log(weightConvert.kgToLbs(70));    // 154.3234 (avg adult)
console.log(weightConvert.ozToGrams(8));   // 226.796 (half pound)
console.log(weightConvert.stoneToKg(11));  // 69.85319

Python:

def kg_to_lbs(kg: float) -> float:
    return kg * 2.20462

def lbs_to_kg(lbs: float) -> float:
    return lbs * 0.453592

def oz_to_grams(oz: float) -> float:
    return oz * 28.3495

print(kg_to_lbs(70))    # 154.3234
print(oz_to_grams(8))   # 226.796

Sztuczka pamięciowa dla wagi

kg na lbs: podwoić wartość, a następnie dodać 10%. Na przykład 70 kg → 140 + 14 = 154 lbs. Dokładna odpowiedź to 154,32 — wystarczająco blisko.

Szybkie odniesienie: waga

ImperialnyMetryczny
1 uncja28,35 g
1 funt453,6 g
1 stone (14 lbs)6,35 kg
1 tona krótka (2 000 lbs)907,2 kg
1 uncja trojańska31,10 g

Przeliczanie temperatury: ta inna od pozostałych

Przeliczenia długości, wagi i objętości używają prostego mnożenia. Temperatura nie. Skale temperatury mają różne punkty zerowe, więc przeliczenie wymaga zarówno mnożenia, jak i dodawania. Można to wypróbować w naszym konwerterze temperatury.

Wzory temperatury — wyjaśnienie

Cztery skale temperatury i ich relacje:

Celsjusz ↔ Fahrenheit:

°F = °C × 9/5 + 32
°C = (°F − 32) × 5/9

Skąd bierze się 9/5? Woda zamarza w 0 °C (32 °F) i wrze w 100 °C (212 °F). Zakres Fahrenheita to 212 − 32 = 180 stopni. Zakres Celsjusza to 100 stopni. 180/100 = 9/5.

Celsjusz ↔ Kelwin:

K = °C + 273.15
°C = K − 273.15

Kelwin używa tej samej wielkości stopnia co Celsjusz, ale zaczyna się od zera absolutnego (−273,15 °C). Nie istnieją ujemne wartości w Kelwinach.

Fahrenheit ↔ Rankine:

°R = °F + 459.67

Rankine ma się do Fahrenheita tak, jak Kelwin do Celsjusza — ta sama wielkość stopnia, ale liczona od zera absolutnego. Używana głównie w amerykańskiej termodynamice inżynierskiej.

Ciekawostka: −40° to punkt, w którym Celsjusz i Fahrenheit się przecinają. −40 °C = −40 °F dokładnie.

Pogłębione studium: Wzory przeliczania temperatury, kod w 5 językach i pułapki API pogodowych opisuje to szczegółowo.

Przeliczanie temperatury w kodzie

JavaScript:

const tempConvert = {
  cToF: (c) => c * 9 / 5 + 32,
  fToC: (f) => (f - 32) * 5 / 9,
  cToK: (c) => c + 273.15,
  kToC: (k) => k - 273.15,
  fToK: (f) => (f - 32) * 5 / 9 + 273.15,
  kToF: (k) => (k - 273.15) * 9 / 5 + 32,
};

console.log(tempConvert.cToF(100));  // 212 (boiling water)
console.log(tempConvert.fToC(98.6)); // 37 (body temperature)
console.log(tempConvert.cToK(0));    // 273.15 (freezing point)

Python:

def c_to_f(c: float) -> float:
    return c * 9 / 5 + 32

def f_to_c(f: float) -> float:
    return (f - 32) * 5 / 9

def c_to_k(c: float) -> float:
    return c + 273.15

print(c_to_f(100))   # 212.0
print(f_to_c(98.6))  # 37.0
print(c_to_k(-273.15))  # 0.0 (absolute zero)

Sztuczka pamięciowa dla temperatury

Aby z grubsza oszacować Celsjusza na Fahrenheita: podwoić i dodać 30. Działa dobrze w zakresie 0–30 °C:

  • 20 °C → 40 + 30 = 70 °F (dokładnie: 68 °F)
  • 30 °C → 60 + 30 = 90 °F (dokładnie: 86 °F)

Przy ekstremalnych temperaturach błąd rośnie, ale przy pogodzie i gotowaniu wynik jest wystarczająco blisko.

Kluczowe punkty odniesienia temperatury

Zdarzenie°C°FK
Zero absolutne−273,15−459,670
Woda zamarza032273,15
Temperatura pokojowa20–2268–72293–295
Ciało człowieka3798,6310,15
Woda wrze100212373,15
Piekarnik (umiarkowany)180356453,15

Przeliczanie objętości i cieczy: wzory i kod

Przeliczanie objętości ma wyjątkową pułapkę: galon amerykański i galon imperialny nie mają tego samego rozmiaru. Można przeliczać między 15 jednostkami objętości za pomocą naszego przelicznika objętości.

Kluczowe współczynniki przeliczania objętości

PrzeliczenieWspółczynnik
litry → galony amerykańskie÷ 3,78541
litry → galony imperialne÷ 4,54609
cup amerykańskie → mililitry× 236,588
uncje płynne (US) → mililitry× 29,5735
łyżki stołowe (US, tbsp) → mililitry× 14,787
łyżeczki (US, tsp) → mililitry× 4,929

Pułapka galonu amerykańskiego vs imperialnego

Łapie ona ludzi częściej, niż można by się spodziewać:

JednostkaUS CustomaryImperialny (UK)Różnica
1 galon3,785 L4,546 L20,1%
1 uncja płynna29,57 mL28,41 mL3,9%
1 pinta473,2 mL568,3 mL20,1%

Galon amerykański wywodzi się z angielskiego galona winnego z 1707 roku. Galon imperialny został przedefiniowany w 1824 roku jako objętość 10 funtów wody w 62 °F. Wynik: galon imperialny jest około jednej piątej większy.

Ma to znaczenie w realnych scenariuszach. Jeśli brytyjska recenzja samochodu podaje zużycie paliwa w milach na galon, są to galony imperialne. Bezpośrednie porównanie z amerykańskimi wartościami mpg — bez przeliczenia — sprawia, że brytyjski samochód wygląda na 20% bardziej oszczędny, niż jest w rzeczywistości względem miary amerykańskiej.

Przeliczanie objętości w kodzie

JavaScript:

const volumeConvert = {
  litersToUSGal:  (l)    => l / 3.78541,
  usGalToLiters:  (gal)  => gal * 3.78541,
  cupsToMl:       (cups) => cups * 236.588,
  mlToCups:       (ml)   => ml / 236.588,
  flOzToMl:       (floz) => floz * 29.5735,
  mlToFlOz:       (ml)   => ml / 29.5735,
};

console.log(volumeConvert.litersToUSGal(3.78541)); // 1 (exact)
console.log(volumeConvert.cupsToMl(2));            // 473.176
console.log(volumeConvert.flOzToMl(12));           // 354.882

Python:

def liters_to_us_gal(liters: float) -> float:
    return liters / 3.78541

def cups_to_ml(cups: float) -> float:
    return cups * 236.588

def fl_oz_to_ml(fl_oz: float) -> float:
    return fl_oz * 29.5735

print(liters_to_us_gal(3.78541))  # ~1.0
print(cups_to_ml(2))              # 473.176

Budowanie uniwersalnego przelicznika jednostek w JavaScript

Jeśli potrzebny jest przelicznik we własnym projekcie, oto zwięzła implementacja. Sztuczka: zdefiniować relację każdej jednostki względem jednostki bazowej, a następnie przeliczać przez bazę.

const units = {
  // Length (base: meter)
  m:   { base: 'm', factor: 1 },
  km:  { base: 'm', factor: 1000 },
  cm:  { base: 'm', factor: 0.01 },
  mm:  { base: 'm', factor: 0.001 },
  in:  { base: 'm', factor: 0.0254 },
  ft:  { base: 'm', factor: 0.3048 },
  yd:  { base: 'm', factor: 0.9144 },
  mi:  { base: 'm', factor: 1609.344 },

  // Weight (base: gram)
  g:   { base: 'g', factor: 1 },
  kg:  { base: 'g', factor: 1000 },
  mg:  { base: 'g', factor: 0.001 },
  lb:  { base: 'g', factor: 453.592 },
  oz:  { base: 'g', factor: 28.3495 },

  // Volume (base: milliliter)
  ml:     { base: 'ml', factor: 1 },
  l:      { base: 'ml', factor: 1000 },
  usgal:  { base: 'ml', factor: 3785.41 },
  uscup:  { base: 'ml', factor: 236.588 },
  floz:   { base: 'ml', factor: 29.5735 },
};

function convert(value, fromUnit, toUnit) {
  const from = units[fromUnit];
  const to = units[toUnit];
  if (!from || !to || from.base !== to.base) {
    throw new Error(`Cannot convert ${fromUnit} to ${toUnit}`);
  }
  return value * from.factor / to.factor;
}

// Temperature needs special handling (offset-based)
function convertTemp(value, from, to) {
  // Normalize to Celsius first
  let c;
  if (from === 'C') c = value;
  else if (from === 'F') c = (value - 32) * 5 / 9;
  else if (from === 'K') c = value - 273.15;
  else throw new Error(`Unknown unit: ${from}`);

  // Convert from Celsius to target
  if (to === 'C') return c;
  if (to === 'F') return c * 9 / 5 + 32;
  if (to === 'K') return c + 273.15;
  throw new Error(`Unknown unit: ${to}`);
}

console.log(convert(26.2, 'mi', 'km'));       // 42.164928
console.log(convert(70, 'kg', 'lb'));         // 154.324...
console.log(convert(2, 'uscup', 'ml'));       // 473.176
console.log(convertTemp(100, 'C', 'F'));      // 212

Funkcja convert obsługuje każdą jednostkę, której relacja do bazy jest prostym stosunkiem. Temperatura ma własną funkcję ze względu na przesunięcie. units można rozszerzyć o dowolną nową jednostkę — wystarczy podać jej typ bazowy i współczynnik przeliczenia.

FAQ

Ile centymetrów jest w calu?

Dokładnie 2,54 cm. To nie przybliżenie — to dokładny współczynnik przeliczenia ustanowiony przez międzynarodowe porozumienie o jardzie i funcie z 1959 roku. Aby przeliczyć cale na centymetry, należy pomnożyć przez 2,54. Aby przejść w drugą stronę, należy podzielić przez 2,54. Przelicz długości natychmiast za pomocą naszego darmowego narzędzia.

Jaki jest wzór na przeliczenie stopni Celsjusza na Fahrenheita?

°F = °C × 9/5 + 32. Na przykład 20 °C = 20 × 1,8 + 32 = 68 °F. Stosunek 9/5 wynika z 180-stopniowego zakresu Fahrenheita (32 °F do 212 °F) podzielonego przez 100-stopniowy zakres Celsjusza (0 °C do 100 °C). Sprawdź dokładny wynik za pomocą naszego narzędzia do temperatury.

Dlaczego galony amerykański i imperialny się różnią?

Galon amerykański (3,785 L) wywodzi się z angielskiego galona winnego z 1707 roku, podczas gdy galon imperialny (4,546 L) został przedefiniowany w 1824 roku na podstawie objętości 10 funtów wody destylowanej. Ta różnica rzędu 20% ma znaczenie przy porównaniach zużycia paliwa, skalowaniu przepisów i wysyłce międzynarodowej.

Ile funtów jest w kilogramie?

1 kg = 2,20462 lbs. Sztuczka pamięciowa: podwoić wartość w kg i dodać 10%. Czyli 70 kg → 140 + 14 = 154 lbs. Dokładna odpowiedź to 154,32 lbs.

Czym jest zero absolutne?

0 K = −273,15 °C = −459,67 °F. To teoretycznie najniższa temperatura, w której ustaje wszelki ruch cząsteczek. Żadne laboratorium nigdy nie osiągnęło dokładnie 0 K, choć eksperymenty zbliżyły się do tej wartości na miliardowe części stopnia.

Czy uncja trojańska to to samo co zwykła uncja?

Nie. Uncja trojańska (31,1035 g) jest około 10% cięższa niż standardowa uncja avoirdupois (28,3495 g). Uncje trojańskie stosowane są wyłącznie do metali szlachetnych — złota, srebra, platyny. Jeśli widać cenę złota podaną „za uncję”, zawsze chodzi o uncje trojańskie.

Jaki jest najłatwiejszy sposób na przeliczenie mil na kilometry w pamięci?

Wystarczy użyć ciągu Fibonacciego. Kolejne liczby Fibonacciego przybliżają stosunek 1:1,609 między milami a kilometrami: 5 mi ≈ 8 km, 8 mi ≈ 13 km, 13 mi ≈ 21 km. Dla dowolnych wartości wystarczy pomnożyć mile przez 1,6.

Podsumowanie

Cztery rzeczy do zapamiętania:

  1. Metryczny jest dziesiętny. Przechodzenie między jednostkami metrycznymi to przesuwanie przecinka dziesiętnego. Bez konieczności wkuwania.
  2. Imperialny wymaga sprawdzania. 12 cali w stopie, 3 stopy w jardzie, 5 280 stóp w mili — nie ma żadnego wzorca.
  3. Temperatura ma przesunięcie. W przeciwieństwie do pozostałych przeliczeń nie wystarczy mnożyć. Zawsze trzeba zastosować wzór: °F = °C × 9/5 + 32.
  4. US ≠ imperialny dla cieczy. Galon amerykański i galon imperialny różnią się o 20%. Zawsze warto sprawdzić, z którym ma się do czynienia.

Trzeba coś przeliczyć właśnie teraz? Można skorzystać z naszych darmowych narzędzi działających w przeglądarce — bez rejestracji, dane nie opuszczają urządzenia:

Powiązane artykuły

Zobacz wszystkie artykuły