go

Go, Golang, formatFloat: convierte el número de flotación en una cadena



(1)

Esta pregunta ya tiene una respuesta aquí:

http://golang.org/pkg/strconv/

http://play.golang.org/p/4VNRgW8WoB

¿Cómo convierto un número flotante en formato de cadena? Este es google playground pero no está obteniendo el resultado esperado. (2e + 07) Quiero obtener "21312421.213123"

package main import "fmt" import "strconv" func floattostr(input_num float64) string { // to convert a float number to a string return strconv.FormatFloat(input_num, ''g'', 1, 64) } func main() { fmt.Println(floattostr(21312421.213123)) // what I expect is "21312421.213123" in string format }

Por favor, ayúdame a sacar la cadena del número flotante. Gracias


Prueba esto

package main import "fmt" import "strconv" func FloatToString(input_num float64) string { // to convert a float number to a string return strconv.FormatFloat(input_num, ''f'', 6, 64) } func main() { fmt.Println(FloatToString(21312421.213123)) }

Si solo quiere tantos dígitos de precisión como sea posible, entonces la precisión especial -1 usa la menor cantidad de dígitos necesarios para que ParseFloat devuelva f exactamente. P.ej

strconv.FormatFloat(input_num, ''f'', -1, 64)

Personalmente encuentro fmt más fácil de usar. ( Enlace de juegos )

fmt.Printf("x = %.6f/n", 21312421.213123)

O si solo quieres convertir la cadena

fmt.Sprintf("%.6f", 21312421.213123)