🛠️ToolsShed

Convertitore glicemia

Converte la glicemia tra mg/dL e mmol/L con riferimento ai valori normali.

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.

I valori della glicemia si misurano in unità diverse a seconda del paese: mg/dL (milligrammi per decilitro), usato negli Stati Uniti e in alcuni altri paesi, e mmol/L (millimoli per litro), usato in Europa, Canada, Australia e nella maggior parte del mondo. La conversione tra queste unità è essenziale per leggere letteratura medica internazionale, usare un glucometro straniero o discutere i risultati con medici all'estero.

Per convertire mg/dL in mmol/L, dividi per 18,018. Per convertire mmol/L in mg/dL, moltiplica per 18,018. Ad esempio, una glicemia a digiuno di 100 mg/dL corrisponde a circa 5,6 mmol/L. Questo strumento esegue la conversione istantaneamente in entrambe le direzioni e mostra una tabella di riferimento con le soglie clinicamente rilevanti.

La glicemia a digiuno normale è tipicamente inferiore a 100 mg/dL (5,6 mmol/L). Valori tra 100 e 125 mg/dL (5,6–6,9 mmol/L) indicano prediabete. La diagnosi di diabete viene generalmente formulata a partire da 126 mg/dL (7,0 mmol/L) o superiore in due occasioni separate.

Domande Frequenti

Implementazione del Codice

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