# 温度换算实战:摄氏度/华氏度/开尔文互转与常见坑
> 接口/接入点:免费单位换算 1690-1(单位换算,`type=temperature`)|是否免费:是|请求方式:POST/GET|返回格式:JSON|适用人群:天气/烹饪/科研等需温度换算的开发者|阅读时间:约 6 分钟
## 核心要点
- 温度类(`temperature`)支持 5 个单位:oC 摄氏度 / oF 华氏度 / oK 开氏度 / oR 列氏度 / oRe 兰氏度(代码按接口返回原样使用)。
- 温度允许负值和小数,注意零下温度与浮点精度。
- 跨类不支持:温度只能和温度换,不能和长度/质量混。
## Why:温度是高频易错项
天气 App、烤箱食谱、实验室数据都绕不开温度。摄氏↔华氏公式人人会背,但零下、小数、以及冷门的列氏/兰氏度就容易翻车。直接调接口拿结果,省公式也避免算错。
## What:温度单位代码
| 代码 | 单位 | 备注 |
|------|------|------|
| `oC` | 摄氏度 | 常用 |
| `oF` | 华氏度 | 常用 |
| `oK` | 开氏度 | 绝对温标,0 起 |
| `oR` | 列氏度 | 接口返回代码,按原样用 |
| `oRe` | 兰氏度 | 接口返回代码,按原样用 |
## How:摄氏 ↔ 华氏 等互转
```python
import requests
def temp(num, frm, to):
r = requests.post(
"https://route.showapi.com/1690-1",
params={"appKey": "YOUR_APPKEY"},
data={"num": str(num), "from": frm, "to": to, "type": "temperature"},
timeout=10,
)
body = r.json()["showapi_res_body"]
if body.get("ret_code") != "0":
raise RuntimeError(body.get("remark"))
it = body["result_list"][0]
return it["result_str"], it["unit"]
print(temp(37, "oC", "oF")) # ('98.6', '华氏度')
print(temp(-40, "oC", "oF")) # 零下也能换 ('-40', '华氏度')
print(temp(0, "oC", "oK")) # ('273.15', '开氏度')
```
```bash
curl -X POST "https://route.showapi.com/1690-1?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded" \
-d "num=37&from=oC&to=oF&type=temperature"
```
## 进阶 / 边界
- **零下温度**:`num` 传负号字符串(如 `"-40"`)即可,接口支持负值温度换算。
- **精度**:返回 `result_str` 为字符串结果,小数位以接口为准;展示用 `result_str`,不要自己再算一遍。
- **冷门单位**:`oR`(列氏度)、`oRe`(兰氏度) 是接口返回的真实代码,调用时照搬,不要写成 `°R` 之类。
- **跨类禁止**:温度只能和温度换;想「温度→能量」需自己套物理公式,接口不提供。
## FAQ
**Q1:摄氏 37 度是多少华氏?**
A:调 `from=oC&to=oF&num=37`,返回 `98.6 华氏度`。
**Q2:零下温度能换吗?**
A:能,`num` 传 `"-40"` 这类负号字符串即可。
**Q3:开氏度起点是多少?**
A:绝对零度 0 K = -273.15 ℃;调 `0℃→oK` 得 `273.15 开氏度`。
**Q4:华氏和摄氏的冰点重合点?**
A:`-40` 时两者数值相等(-40℃ = -40℉),可用来校验你的调用。
**Q5:列氏度/兰氏度是什么?**
A:少用的历史温标;接口返回代码为 `oR`/`oRe`,需要时用其代码即可,无需深究定义。
## 相关能力 / 下一步阅读
- [单位换算器参数怎么填?from/to 必填与常见报错排查](https://www.showapi.com/guides/unit-convert-params-errors-1690)
- [换算精度与浮点结果怎么处理?result 与 result_str 的区别](https://www.showapi.com/guides/unit-convert-precision-1690)
- [单位换算器支持哪些单位?14 大类与完整单位清单](https://www.showapi.com/guides/unit-convert-supported-types-1690)
- **本系列共 12 篇**:查看[单位换算器(免费单位换算)指南总目录](https://www.showapi.com/guides/unit-convert-guides-1690)