2016-04-03 5 views
3

Konsoldan bir dize olarak okumam gereken bir girdi var, daha sonra dizeyi işlemek ve bazılarını float32'a dönüştürmek.Dize float32'ye dönüştürüyor musunuz?

float, _ := strconv.ParseFloat(myString, 32) 

Ama çalışmıyor:

kullanıyorum çalıştılar. Bu hata alıyorum edilir:

alan değeri

tip float32 olarak şamandıra (tip float64) kullanamazsınız yapabileceğim başka bir şey var mı? Teşekkürler!

+2

, '_' ile hatayı göz ardı etmek yerine, neden "err" yi atayıp hata mesajını buraya yapıştırmayın? – eduncan911

+0

Asıl gönderiyi – Gambit2007

cevap

6

float, float32 türüne sahiptir, ancak strconv.ParseFloat, float64 değerini döndürür. float64 için float 'ın türünü değiştirmek için daha iyi olabilir

// "var float float32" up here somewhere 
value, err := strconv.ParseFloat(myString, 32) 
if err != nil { 
    // do something sensible 
} 
float = float32(value) 

sizin Book this bağlı: Yapmanız gereken tek şey sonuç typecasting edilir.

+0

aldığım hatayla düzenledim çok teşekkürler! – Gambit2007