mcpField
U
unit-converter

unit-converter

github.com/dkyazzentwatwa其他12465 次安装29 周前更新
代码仓库

关于 unit-converter

unit-converter 是用于跨物理量类别换算单位的 Python 库和命令行工具,适合需要单项或批量换算的用户。它支持设置精度,并可显示换算公式及详情。

主要功能

  1. 01跨多个类别换算单位
  2. 02处理速度、压力等复合单位
  3. 03设置小数精度
  4. 04批量换算数值列表
  5. 05显示换算公式和详情

适用场景

  1. 01在脚本或命令行中换算测量值
  2. 02批量将重量从千克换算为磅
  3. 03查看温度换算所用的公式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dkyazzentwatwa/chatgpt-skills --skill unit-converter

安装后在 Claude Code 中输入/unit-converter确认已加载。

附带文件scripts/requirements.txtscripts/unit_converter.py

详细介绍

单位转换器

在多个物理维度之间转换单位。

功能

  • 多个类别:长度、质量、温度、时间、体积等。
  • 复合单位:速度、密度、压力
  • 精度控制:可配置的小数位数
  • 批量转换:转换数值列表
  • 公式显示:显示转换公式

快速开始

from unit_converter import UnitConverter

converter = UnitConverter()

# Simple conversion
result = converter.convert(100, "km", "miles")
print(f"100 km = {result:.2f} miles")

# With full details
result = converter.convert_with_details(72, "fahrenheit", "celsius")
print(result)

CLI 用法

# Basic conversion
python unit_converter.py 100 km miles

# Temperature
python unit_converter.py 98.6 fahrenheit celsius

# With precision
python unit_converter.py 1.5 kg lbs --precision 4

# List supported units
python unit_converter.py --list

# List units in category
python unit_converter.py --list length

# Show formula
python unit_converter.py 100 cm inches --formula

API 参考

UnitConverter 类
class UnitConverter:
    def __init__(self)

    # Conversion
    def convert(self, value: float, from_unit: str, to_unit: str) -> float
    def convert_with_details(self, value: float, from_unit: str, to_unit: str) -> dict
    def batch_convert(self, values: list, from_unit: str, to_unit: str) -> list

    # Information
    def list_categories(self) -> list
    def list_units(self, category: str = None) -> dict
    def get_formula(self, from_unit: str, to_unit: str) -> str
    def find_unit(self, query: str) -> list

支持的类别

长度
单位别名
meterm
kilometerkm
centimetercm
millimetermm
inchin
footft
yardyd
milemi
nautical_milenm
质量
单位别名
kilogramkg
gramg
milligrammg
poundlb, lbs
ounceoz
ton
metric_tontonne
温度
单位别名
celsiusc
fahrenheitf
kelvink
时间
单位别名
seconds, sec
minutemin
hourh, hr
dayd
weekwk
monthmo
yearyr
体积
单位别名
literl
milliliterml
gallongal
quartqt
pintpt
cup
fluid_ouncefl_oz
cubic_meterm3
面积
单位别名
square_meterm2, sqm
square_kilometerkm2
square_footsqft, ft2
acre
hectareha
速度
单位别名
meters_per_secondm/s, mps
kilometers_per_hourkm/h, kph
miles_per_hourmph
knotskt
数字存储
单位别名
byteb
kilobytekb
megabytemb
gigabytegb
terabytetb
能量
单位别名
joulej
kilojoulekj
caloriecal
kilocaloriekcal
watt_hourwh
kilowatt_hourkwh

示例工作流

批量转换
converter = UnitConverter()
weights_kg = [50, 75, 100, 125]
weights_lbs = converter.batch_convert(weights_kg, "kg", "lbs")
for kg, lbs in zip(weights_kg, weights_lbs):
    print(f"{kg} kg = {lbs:.1f} lbs")
查找兼容单位
converter = UnitConverter()
# Search for units
matches = converter.find_unit("meter")
# Returns: ['meter', 'kilometer', 'centimeter', ...]
获取转换公式
converter = UnitConverter()
formula = converter.get_formula("celsius", "fahrenheit")
print(formula)  # "F = (C × 9/5) + 32"

输出格式

convert_with_details()
{
    "value": 100,
    "from_unit": "km",
    "to_unit": "miles",
    "result": 62.1371,
    "formula": "miles = km × 0.621371",
    "category": "length"
}

依赖项

无外部依赖项——使用 Python 标准库。

评论

支持 Markdown