Сегодня я наткнулся на совет Йоста Хелберга в Mastodon:
⚠️ Совет дня: Не используйте три цифры после запятой в числах! Люди могут спутать десятичную точку с разделителем тысяч. Лучше указывать 2 или 4 знака — это снизит риск ошибок в 1000 раз! 💡
Раньше я всегда округлял до четырёх знаков, но не задумывался о проблемах локализации.
В разработке ПО 🖥️ важно доверять форматирование чисел библиотекам, учитывающим региональные настройки. Иначе — курьёзы, как в моей истории:
😅 Стыд в Бордо (2006):
На курсе по байесовской статистике во Франции наше ПО отказалось работать. Причина?
🇺🇸 США: `3.14` (точка — десятичный разделитель)
🇫🇷 Франция: `3,14` (запятая)
Я извинился и попросил аудиторию вводить числа «по-американски», но… ❌ не сработало!
Оказалось, мы использовали Windows API для парсинга (учитывал локализацию), но добавили свою проверку:
`if (ввод содержит только цифры и точки) → ошибка для французских запятых!`
Участники оказались в ловушке:
➔ Валидация отвергала `3,14`
➔ Парсер не понимал `3.14`
Спасибо французским коллегам — они переключили систему на US-локаль 🔄 и посмеялись: «Такое случается часто».
Неловкое начало, но курс прошёл отлично! 👍
📌 Вывод: Локализация — не мелочь. Всегда тестируйте краевые случаи!
(Источник: John D. Cook, «Десятичные разделители и интернационализация»)