🛠️ToolsShed

血糖换算器

在 mg/dL 和 mmol/L 之间换算血糖值,附正常范围参考。

Reference ranges
Statusmg/dLmmol/L
Fasting2h post-mealFasting2h post-meal
Normal70–99< 1403.9–5.5< 7.8
Pre-diabetes100–125140–1995.6–6.97.8–11.0
Diabetes≥ 126≥ 200≥ 7.0≥ 11.1

For reference only. Consult a healthcare professional for medical advice.

血糖水平的单位因国家而异:美国等部分国家使用 mg/dL(毫克/分升),而欧洲、加拿大、澳大利亚及大多数国家使用 mmol/L(毫摩尔/升)。在阅读国际医学文献、使用进口血糖仪或与海外医疗人员沟通时,单位换算至关重要。

mg/dL 换算为 mmol/L 需除以 18.018;mmol/L 换算为 mg/dL 需乘以 18.018。例如,空腹血糖 100 mg/dL 约等于 5.6 mmol/L。本工具可即时完成双向换算,并显示临床重要阈值参考表。

正常空腹血糖通常低于 100 mg/dL(5.6 mmol/L)。100~125 mg/dL(5.6~6.9 mmol/L)提示糖尿病前期;两次测量均达到 126 mg/dL(7.0 mmol/L)或以上通常可诊断为糖尿病。

常见问题

代码实现

# Blood glucose unit conversion
# Molecular weight of glucose = 180.182 g/mol
# Factor = 18.0182

FACTOR = 18.0182

def mgdl_to_mmoll(mgdl: float) -> float:
    """Convert blood glucose from mg/dL to mmol/L."""
    return mgdl / FACTOR

def mmoll_to_mgdl(mmoll: float) -> float:
    """Convert blood glucose from mmol/L to mg/dL."""
    return mmoll * FACTOR

def classify_fasting(mgdl: float) -> str:
    """Classify fasting blood glucose level (ADA guidelines)."""
    if mgdl < 70:
        return "Low (Hypoglycaemia)"
    elif mgdl < 100:
        return "Normal"
    elif mgdl < 126:
        return "Pre-diabetes"
    else:
        return "Diabetes range"

# Example conversions
values_mgdl = [54, 70, 90, 100, 126, 180, 250]
print(f"{'mg/dL':>8}  {'mmol/L':>8}  {'Category'}")
print("-" * 40)
for v in values_mgdl:
    mmol = mgdl_to_mmoll(v)
    category = classify_fasting(v)
    print(f"{v:>8}  {mmol:>8.1f}  {category}")

# Reverse conversion
print("\nmmol/L → mg/dL:")
for v in [3.9, 5.5, 7.0, 10.0]:
    mgdl = mmoll_to_mgdl(v)
    print(f"{v} mmol/L = {mgdl:.1f} mg/dL")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.