Проблема заключалась не в том, что строка была неправильно преобразована, а в том, что Printf
по умолчанию не выводит полную дробную часть, если она длинная.
Следующий код печатает так же, как исходный код, но с 10 цифрами после десятичной точки:
origVal := "0.00000628"
convVal, err := strconv.ParseFloat(origVal, 64)
if err == nil && err2 ==nil {
fmt.Printf("Original value: %s\nConverted value: %.10f\n", origVal, convVal)
}
Спасибо @ usr2564301 за быстрый ответ!