golang string to float64

Пользователь

от bailee , в категории: Общие вопросы , 4 года назад

Хочу узнать, как мне правильно сделать так, чтобы у меня получилась конвертация string во float64? Помогите пожалуйста. Если ещё и код скинете, то я вообще буду счастлив.


Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

5 ответов

Пользователь

от soledad , 4 года назад

ParseFloat преобразует строку s в число с плавающей запятой с точностью, заданной битовым размером: 32 для float32 или 64 для float64. Когда bitSize=32, результат все еще имеет тип float64, но он будет конвертирован в float32 без изменения его значения.


Пользователь

от bailee , 4 года назад

Так, я примерно понял, что вы имеете ввиду. Можно теперь тоже самое, только применив это в написании кода? Мне так будет намного понятнее.


Пользователь

от soledad , 4 года назад

Ну вот тебе для примера:

 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

Пользователь

от bradly.ledner , 4 года назад

Можешь зайти на англоязычный сайт Cloudhadoop, там всё подробно и рассказано, и показано, как делать переход между стринг и флоат, даже несколькими способами.


Пользователь

от bailee , 4 года назад

Спасибо большое, ребят, за объяснения. Я теперь реально понял, как это делать. Смогу теперь решить задачку, которую не мог сделать несколько дней. Вам огромный лайк. <3