Конвертер уровня сахара в крови

Конвертирует уровень глюкозы между мг/дл и ммоль/л с нормами.

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.

Уровень сахара в крови измеряется в разных единицах в зависимости от страны: мг/дл (миллиграммы на децилитр) — в США и ряде других стран, и ммоль/л (миллимоли на литр) — в Европе, Канаде, Австралии и большинстве стран мира. Перевод между единицами необходим при чтении международной медицинской литературы или использовании зарубежного глюкометра.

Чтобы перевести мг/дл в ммоль/л, разделите на 18,018. Чтобы перевести ммоль/л в мг/дл, умножьте на 18,018. Например, глюкоза натощак 100 мг/дл соответствует примерно 5,6 ммоль/л. Инструмент выполняет мгновенный перевод в обоих направлениях и отображает таблицу клинически важных пороговых значений.

Нормальный уровень глюкозы натощак обычно ниже 100 мг/дл (5,6 ммоль/л). Показатели 100–125 мг/дл (5,6–6,9 ммоль/л) указывают на предиабет. Диагноз «сахарный диабет» ставится при 126 мг/дл (7,0 ммоль/л) и выше при двух отдельных измерениях.

Часто задаваемые вопросы

Реализация кода

# 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.