ParseFloat преобразует строку s в число с плавающей запятой с точностью, заданной битовым размером: 32 для float32 или 64 для float64. Когда bitSize=32, результат все еще имеет тип float64, но он будет конвертирован в float32 без изменения его значения.
Так, я примерно понял, что вы имеете ввиду. Можно теперь тоже самое, только применив это в написании кода? Мне так будет намного понятнее.
Ну вот тебе для примера:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package main import ( "fmt" "strconv" ) func main() { s := "3.1415926535" f, _ := strconv.ParseFloat(s, 8) fmt.Printf("%T, %v\n", f, f) s1 := "-3.141" f1, _ := strconv.ParseFloat(s1, 8) fmt.Printf("%T, %v\n", f1, f1) s2 := "-3.141" f2, _ := strconv.ParseFloat(s2, 32) fmt.Printf("%T, %v\n", f2, f2) } |
Вывод:
float64, 3.1415926535
float64, -3.141
float64, -3.1410000324249268
Можешь зайти на англоязычный сайт Cloudhadoop, там всё подробно и рассказано, и показано, как делать переход между стринг и флоат, даже несколькими способами.
Спасибо большое, ребят, за объяснения. Я теперь реально понял, как это делать. Смогу теперь решить задачку, которую не мог сделать несколько дней. Вам огромный лайк. <3