
Баг: Ожидание, что `ParseFloat` поймёт запятую как разделитель дроби
Что делают:strconv.ParseFloat("3,14", 64) → ошибка.
Почему:
Стандарт Go (и большинства языков) требует точку в качестве десятичного разделителя. Локаль не учитывается.
Как правильно:
Заменить запятые на точки перед парсингом:
s := strings.ReplaceAll("3,14", ",", ".")
f, _ := strconv.ParseFloat(s, 64)Осторожно: Если в строке может быть несколько запятых (например, "1,000,000.50"), такая замена сломает число. Для сложных форматов используйте более умные парсеры.
Загрузка...