Конвертер размеров колец
Конвертирует размеры колец между стандартами US, EU, UK, Япония и диаметром в мм.
Ring Size Chart
| US / Canada | EU / ISO | UK / AU / NZ | Japan | Diameter (mm) |
|---|---|---|---|---|
| 3 | 44 | F½ | 4 | 13.97 |
| 3.5 | 45 | G½ | 5 | 14.36 |
| 4 | 46 | H | 6 | 14.76 |
| 4.5 | 47 | I | 7 | 15.09 |
| 5 | 49 | J½ | 8 | 15.7 |
| 5.5 | 50 | K½ | 9 | 16.1 |
| 6 | 51 | L | 10 | 16.51 |
| 6.5 | 52 | L½ | 11 | 16.92 |
| 7 | 54 | M½ | 12 | 17.35 |
| 7.5 | 55 | N | 13 | 17.75 |
| 8 | 56 | O | 14 | 18.19 |
| 8.5 | 57 | O½ | 15 | 18.53 |
| 9 | 59 | P½ | 16 | 19.05 |
| 9.5 | 60 | Q | 17 | 19.41 |
| 10 | 61 | R | 18 | 19.84 |
| 10.5 | 62 | R½ | 19 | 20.2 |
| 11 | 63 | S½ | 20 | 20.68 |
| 11.5 | 65 | T | 21 | 21.08 |
| 12 | 66 | U | 22 | 21.49 |
| 12.5 | 67 | V | 23 | 21.89 |
| 13 | 68 | W | 24 | 22.33 |
Часто задаваемые вопросы
Реализация кода
import math
# Ring size conversion tables
# Circumference (mm) → US size
CIRCUMFERENCE_TO_US: list[tuple[float, float]] = [
(44.2, 3.0), (45.5, 3.5), (46.8, 4.0), (48.0, 4.5),
(49.3, 5.0), (50.6, 5.5), (51.9, 6.0), (53.1, 6.5),
(54.4, 7.0), (55.7, 7.5), (57.0, 8.0), (58.3, 8.5),
(59.5, 9.0), (60.8, 9.5), (62.1, 10.0), (63.4, 10.5),
(64.6, 11.0), (65.9, 11.5), (67.2, 12.0), (68.5, 12.5),
(69.7, 13.0),
]
# EU size = circumference rounded to nearest integer (mm)
def circumference_to_eu(mm: float) -> int:
return round(mm)
# UK letter sizes A–Z (size A = 37mm circumference, each step ≈ 1.25mm)
def circumference_to_uk(mm: float) -> str:
index = round((mm - 37.0) / 1.25)
index = max(0, min(index, 25))
return chr(ord('A') + index)
def diameter_to_circumference(diameter_mm: float) -> float:
return diameter_mm * math.pi
def circumference_to_diameter(circumference_mm: float) -> float:
return circumference_mm / math.pi
def circumference_to_us(mm: float) -> float | None:
"""Find closest US ring size for given circumference."""
best = min(CIRCUMFERENCE_TO_US, key=lambda x: abs(x[0] - mm))
if abs(best[0] - mm) <= 0.7: # within ~0.7mm tolerance
return best[1]
return None
# Example: convert diameter to all sizes
diameter_mm = 16.5
circumference = diameter_to_circumference(diameter_mm)
print(f"Diameter: {diameter_mm:.1f} mm")
print(f"Circumference: {circumference:.1f} mm")
print(f"US size: {circumference_to_us(circumference)}")
print(f"EU size: {circumference_to_eu(circumference)}")
print(f"UK size: {circumference_to_uk(circumference)}")
# Diameter: 16.5 mm
# Circumference: 51.8 mm
# US size: 5.5
# EU size: 52
# UK size: MComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.