🛠️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をmgdLに変換するには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)以上が2回確認された場合は糖尿病と診断されます。

よくある質問

コード実装

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