단위 변환 완벽 가이드: 모든 측정을 위한 공식, 코드, 도구
레시피에는 350°F로 적혀 있는데 여러분은 섭씨만 압니다. 배송 라벨에는 22 lbs라고 쓰여 있지만 시스템은 킬로그램을 기대합니다. 고객이 피트 단위로 치수를 보내왔는데 CAD 소프트웨어는 미터를 씁니다. 단위 변환은 간단해 보여도 틀리기 전까지만 그럴 뿐이며, 그 결과는 저녁을 망치는 수준에서 3억 2,700만 달러짜리 우주선 추락까지 걸쳐 있습니다.
가장 자주 변환하게 되는 네 가지, 길이·무게·온도·부피를 정확한 공식, 프로젝트에 그대로 복사해 쓸 수 있는 자바스크립트(JavaScript)와 파이썬(Python) 코드, 암산에 도움이 되는 빠른 참조 표와 함께 정리했습니다.
개발자들이 아직도 단위 변환에서 넘어지는 이유
단위 오류는 이미 해결된 문제처럼 보이지만, 그렇지 않습니다.
1999년 NASA의 화성 기후 궤도선은 화성 대기권에서 공중분해되었습니다. 한 엔지니어링 팀은 파운드-힘 초(pound-force second)를 썼지만 다른 팀은 뉴턴 초(newton-second)를 쓴 것이 원인이었습니다. 몇 달에 걸친 궤적 계산 동안 아무도 이 불일치를 잡아내지 못했습니다. 손실액은 3억 2,760만 달러였습니다.
1983년 에어캐나다 143편(이른바 “김리 글라이더”)은 비행 중에 연료가 떨어졌습니다. 지상 팀이 연료를 킬로그램이 아닌 파운드로 계산한 탓이었습니다. 항공기에는 필요량의 절반도 안 되는 연료만 실려 있었습니다.
극단적인 사례들이지만, 이보다 작은 단위 오류는 끊임없이 발생합니다.
- 미국 갤런 ≠ 영국 갤런. 둘은 약 20% 차이가 납니다. 어느 갤런인지 밝히지 않으면 미국과 영국의 연비 비교는 의미가 없습니다.
- 트로이 온스 ≠ 일반 온스. “온스당 1,900달러”로 책정된 금값은 부엌 저울의 상용 온스(28.35 g)가 아니라 트로이 온스(31.1 g) 기준입니다.
- 온도 변환은 비선형이다. 단순히 곱셈만 하면 안 됩니다. 오프셋이 존재하며, 이를 빼먹으면 결과가 크게 어긋납니다.
미터법 vs 야드파운드법: 한 행성, 두 개의 체계
공식을 살펴보기 전에 전체 그림을 정리합니다.
| 차원 | 미터법 (SI) | 야드파운드법 / 미국 관습 단위 |
|---|---|---|
| 설계 원리 | 십진 — 모든 단위가 10의 거듭제곱으로 확장 | 비일관적 — 12 in/ft, 3 ft/yd, 5,280 ft/mi |
| 길이 | 미터(m) | 피트(ft), 인치(in), 마일(mi) |
| 질량 / 무게 | 킬로그램(kg) | 파운드(lb), 온스(oz) |
| 온도 | 섭씨(°C), 켈빈(K) | 화씨(°F) |
| 부피 | 리터(L) | 갤런(gal), 파인트(pt), 컵(cup) |
| 사용 지역 | 전 세계 약 95% | 미국, 미얀마, 라이베리아 |
미터법은 국제도량형국(BIPM, 국제 단위 표준 기구)이 관리합니다. 2019년부터 SI 7개 기본 단위는 모두 빛의 속도, 플랑크 상수, 볼츠만 상수 등 고정된 물리 상수로 정의되었습니다. 이는 정의상 우주 어디에서나 1미터가 똑같다는 뜻입니다.
야드파운드법은 두 변형으로 나뉩니다. 미국 관습 단위(US customary, 미국에서 사용)와 영국식 단위계(Imperial, 역사적으로 영국에서 사용)입니다. 많은 단위가 이름은 같지만 일부는 크기가 다릅니다. 갤런과 액량 온스가 대표적입니다.
길이 변환: 공식과 코드
길이는 가장 자주 변환되는 단위입니다. 즉시 결과가 필요하다면 길이 변환기를, 직접 코딩한다면 아래 공식을 참고하세요.
주요 길이 변환 계수
아래 값들은 모두 1959년 국제 야드·파운드 협정으로 확정된 정확한 값입니다.
| 변환 | 계수 | 성격 |
|---|---|---|
| inches → centimeters | × 2.54 | 정확 |
| feet → meters | × 0.3048 | 정확 |
| yards → meters | × 0.9144 | 정확 |
| miles → kilometers | × 1.609344 | 정확 |
| nautical miles → meters | × 1,852 | 정확 |
미터법 접두사 덕분에 나머지는 간단합니다. 1 km = 1,000 m, 1 cm = 0.01 m, 1 mm = 0.001 m. 미터법 단위 사이 이동은 소수점만 옮기면 됩니다.
길이 변환 코드
자바스크립트:
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)
파이썬:
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
길이 암산 요령
- 인치 → cm: 2.5를 곱합니다. 오차는 약 1.6%로 일상적인 용도에는 충분합니다.
- 마일 → km: 피보나치 수열을 이용합니다. 연속된 피보나치 수가 변환 비율에 가깝습니다. 5 mi ≈ 8 km, 8 mi ≈ 13 km, 13 mi ≈ 21 km.
- 피트 → 미터: 3.3으로 나눕니다. 키 6 피트인 사람은 약 1.82 m입니다.
빠른 참조: 길이
| 야드파운드법 | 미터법 |
|---|---|
| 1 inch | 2.54 cm |
| 1 foot | 30.48 cm |
| 6 feet | 1.8288 m |
| 1 yard | 0.9144 m |
| 1 mile | 1.609 km |
| 1 nautical mile | 1.852 km |
무게와 질량 변환: 공식과 코드
엄밀히 말하면 ‘무게’는 물체에 작용하는 중력의 크기이고 ‘질량’은 물질의 양입니다. 일상 용법과 이 가이드에서는 둘을 구분 없이 다룹니다. 값을 즉시 변환하려면 무게 변환기를 이용하세요.
주요 무게 변환 계수
| 변환 | 계수 |
|---|---|
| kilograms → pounds | × 2.20462 |
| pounds → kilograms | × 0.453592 |
| ounces (avoirdupois) → grams | × 28.3495 |
| troy ounces → grams | × 31.1035 |
| stone → kilograms | × 6.35029 |
| stone → pounds | × 14 (정확) |
트로이 온스의 함정
귀금속, 보석, 금융 데이터를 다룬다면 주의하세요. 트로이 온스(31.1035 g)는 표준 상용 온스(avoirdupois ounce, 28.3495 g)보다 약 10% 더 무겁습니다. 금, 은, 백금은 항상 트로이 온스 기준으로 가격이 매겨집니다. 금융 애플리케이션에서 둘을 혼동하면 계산이 10%씩 어긋납니다.
무게 변환 코드
자바스크립트:
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
파이썬:
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
무게 암산 요령
kg → lbs: 값을 두 배로 하고 10%를 더합니다. 예를 들어 70 kg → 140 + 14 = 154 lbs. 정확한 답은 154.32로 충분히 근접합니다.
빠른 참조: 무게
| 야드파운드법 | 미터법 |
|---|---|
| 1 ounce | 28.35 g |
| 1 pound | 453.6 g |
| 1 stone (14 lbs) | 6.35 kg |
| 1 short ton (2,000 lbs) | 907.2 kg |
| 1 troy ounce | 31.10 g |
온도 변환: 성격이 다른 하나
길이, 무게, 부피 변환은 모두 단순 곱셈으로 끝나지만 온도는 그렇지 않습니다. 온도 눈금은 영점이 서로 달라서 곱셈과 덧셈이 모두 필요합니다. 온도 변환기로 직접 시도해 보세요.
온도 공식 풀이
네 가지 온도 눈금과 그 관계입니다.
섭씨 ↔ 화씨:
°F = °C × 9/5 + 32
°C = (°F − 32) × 5/9
9/5는 어디서 왔을까요? 물은 0°C(32°F)에서 얼고 100°C(212°F)에서 끓습니다. 화씨 구간은 212 − 32 = 180도, 섭씨 구간은 100도입니다. 180/100 = 9/5가 됩니다.
섭씨 ↔ 켈빈:
K = °C + 273.15
°C = K − 273.15
켈빈은 섭씨와 눈금 간격은 같지만 절대 영도(−273.15°C)에서 시작합니다. 음수 켈빈 값은 존재하지 않습니다.
화씨 ↔ 랭킨:
°R = °F + 459.67
랭킨은 화씨에 대해 켈빈이 섭씨에 대해 갖는 것과 같은 관계입니다. 눈금 간격은 같지만 절대 영도에서 출발합니다. 주로 미국 공학 열역학에서 사용됩니다.
재미있는 사실: −40°는 섭씨와 화씨가 교차하는 지점입니다. −40°C = −40°F 로 정확히 일치합니다.
온도 변환 공식, 5개 언어 코드, 날씨 API 함정에서 이 주제를 자세히 다룹니다.
온도 변환 코드
자바스크립트:
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)
파이썬:
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)
온도 암산 요령
섭씨를 화씨로 대략 어림할 때는 두 배로 만들고 30을 더하기. 0–30°C 구간에서 쓸 만합니다.
- 20°C → 40 + 30 = 70°F (정확값: 68°F)
- 30°C → 60 + 30 = 90°F (정확값: 86°F)
극한 온도에서는 오차가 커지지만, 날씨와 요리에는 이 정도면 충분합니다.
주요 온도 기준점
| 사건 | °C | °F | K |
|---|---|---|---|
| 절대 영도 | −273.15 | −459.67 | 0 |
| 물 어는점 | 0 | 32 | 273.15 |
| 실온 | 20–22 | 68–72 | 293–295 |
| 사람 체온 | 37 | 98.6 | 310.15 |
| 물 끓는점 | 100 | 212 | 373.15 |
| 오븐 (중간 온도) | 180 | 356 | 453.15 |
부피와 액량 변환: 공식과 코드
부피 변환에는 고유의 함정이 있습니다. 미국 갤런과 영국 갤런은 크기가 다릅니다. 15개 부피 단위 사이 변환은 부피 변환기에서 처리할 수 있습니다.
주요 부피 변환 계수
| 변환 | 계수 |
|---|---|
| liters → US gallons | ÷ 3.78541 |
| liters → Imperial gallons | ÷ 4.54609 |
| US cups → milliliters | × 236.588 |
| US fluid ounces → milliliters | × 29.5735 |
| US tablespoons → milliliters | × 14.787 |
| US teaspoons → milliliters | × 4.929 |
미국 갤런 vs 영국 갤런의 함정
이 문제는 생각보다 자주 사람을 걸려 넘어지게 합니다.
| 단위 | 미국 관습 단위 | 영국식 단위계 (UK) | 차이 |
|---|---|---|---|
| 1 gallon | 3.785 L | 4.546 L | 20.1% |
| 1 fluid ounce | 29.57 mL | 28.41 mL | 3.9% |
| 1 pint | 473.2 mL | 568.3 mL | 20.1% |
미국 갤런은 1707년 영국 와인 갤런에서 유래했습니다. 영국 갤런은 1824년에 62°F에서 물 10 파운드의 부피로 재정의되었습니다. 결과적으로 영국 갤런이 약 5분의 1 더 큽니다.
현실적인 문제도 생깁니다. 영국 자동차 리뷰가 갤런당 마일로 연비를 표시한다면 영국 갤런 기준입니다. 변환 없이 미국 mpg 수치와 비교하면 영국 차가 실제보다 20% 더 효율적인 것처럼 보입니다.
부피 변환 코드
자바스크립트:
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
파이썬:
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
자바스크립트로 범용 단위 변환기 구축하기
프로젝트에 변환기가 필요하면 아래와 같이 구현할 수 있습니다. 요령은 모든 단위의 기준 단위(base)와의 관계를 정의하고, 기준 단위를 거쳐 변환하는 것입니다.
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
convert 함수는 기준 단위와의 관계가 단순 비율로 표현되는 모든 단위를 처리합니다. 온도는 오프셋 때문에 별도 함수를 씁니다. units에 새로운 단위를 추가할 때는 기준 단위 타입과 변환 계수만 지정하면 됩니다.
FAQ
1 인치는 몇 센티미터인가요?
정확히 2.54 cm입니다. 근사치가 아니라 1959년 국제 야드·파운드 협정으로 확정된 정확한 변환 계수입니다. 인치를 센티미터로 변환하려면 2.54를 곱하고, 반대 방향은 2.54로 나눕니다. 무료 길이 변환기로 즉시 변환할 수 있습니다.
섭씨를 화씨로 변환하는 공식은 무엇인가요?
°F = °C × 9/5 + 32 입니다. 예를 들어 20°C = 20 × 1.8 + 32 = 68°F 입니다. 9/5 비율은 화씨 구간 180도(32°F부터 212°F)를 섭씨 구간 100도(0°C부터 100°C)로 나눈 값에서 나옵니다. 온도 변환 도구로 정확한 결과를 확인해 보세요.
미국 갤런과 영국 갤런은 왜 다른가요?
미국 갤런(3.785 L)은 1707년 영국 와인 갤런에서 유래했고, 영국 갤런(4.546 L)은 1824년에 증류수 10 파운드의 부피를 기준으로 재정의되었습니다. 약 20% 차이는 연비 비교, 레시피 환산, 국제 배송에서 그대로 드러납니다.
1 킬로그램은 몇 파운드인가요?
1 kg = 2.20462 lbs 입니다. 암산에서는 kg 값을 두 배로 한 뒤 10%를 더합니다. 따라서 70 kg → 140 + 14 = 154 lbs. 정확한 값은 154.32 lbs 입니다.
절대 영도란 무엇인가요?
0 K = −273.15°C = −459.67°F 입니다. 모든 열적 분자 운동이 멈추는 이론상의 최저 온도입니다. 어떤 실험실도 정확히 0 K에 도달한 적은 없지만, 실험을 통해 10억분의 1도 수준까지는 접근한 바 있습니다.
트로이 온스는 일반 온스와 같은가요?
아닙니다. 트로이 온스(31.1035 g)는 표준 상용 온스(28.3495 g)보다 약 10% 더 무겁습니다. 트로이 온스는 금, 은, 백금과 같은 귀금속에만 사용됩니다. 금값이 “온스당”으로 표기되어 있다면 항상 트로이 온스를 의미합니다.
마일을 킬로미터로 암산하는 가장 쉬운 방법은 무엇인가요?
피보나치 수열을 활용하세요. 연속된 피보나치 수가 마일과 킬로미터 사이 1:1.609 비율에 근사합니다. 5 mi ≈ 8 km, 8 mi ≈ 13 km, 13 mi ≈ 21 km. 임의의 값은 마일에 1.6을 곱하면 됩니다.
정리
꼭 기억해야 할 네 가지.
- 미터법은 십진법이다. 미터법 단위 사이를 이동한다는 것은 소수점을 옮긴다는 뜻입니다. 암기할 것이 없습니다.
- 야드파운드법은 조회가 필요하다. 1 피트에 12 인치, 1 야드에 3 피트, 1 마일에 5,280 피트. 패턴이 없습니다.
- 온도에는 오프셋이 있다. 곱셈만으로는 부족하니 공식을 쓰세요. °F = °C × 9/5 + 32.
- 액체에서는 미국 ≠ 영국. 미국 갤런과 영국 갤런은 20% 차이가 납니다. 어느 쪽인지 확인하세요.
가입 없이 브라우저에서 바로 쓸 수 있는 무료 도구입니다.