Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Golang中将float64转换为c99十六进制字符串?_Go - Fatal编程技术网

如何在Golang中将float64转换为c99十六进制字符串?

如何在Golang中将float64转换为c99十六进制字符串?,go,Go,如何将float64转换为遵循Golang中c99标准的十六进制字符串 -例如,561.2863至-0x1.18a4a57a786c2p9 package main import ( "fmt" "math/big" ) func main() { f := new(big.Float).SetFloat64(-561.2863) fmt.Println(f) t := f.Text('p', 0) fmt.Println(t) g,

如何将float64转换为遵循Golang中c99标准的十六进制字符串

-例如,561.2863至-0x1.18a4a57a786c2p9

package main

import (
    "fmt"
    "math/big"
)

func main() {
    f := new(big.Float).SetFloat64(-561.2863)
    fmt.Println(f)
    t := f.Text('p', 0)
    fmt.Println(t)
    g, ok := new(big.Float).SetString(t)
    if !ok {
        fmt.Println("error")
    }
    fmt.Println(g)
    c, ok := new(big.Float).SetString("-0x1.18a4a57a786c2p9")
    if !ok {
        fmt.Println("error")
    }
    fmt.Println(c)
}
游乐场:

输出:

-561.2863
-0x.8c5252bd3c361p+10
-561.2862999999999829
-561.2862999999999829
-561.2863
-0x.8c5252bd3c361p+10
-561.286300 -0x1.18a4a57a786c2p+9
或者,简单地说

package main

import (
    "fmt"
    "math/big"
)

func main() {
    f64 := -561.2863
    fmt.Println(f64)
    s := new(big.Float).SetFloat64(f64).Text('p', 0)
    fmt.Println(s)
}
游乐场:

输出:

-561.2863
-0x.8c5252bd3c361p+10
-561.2862999999999829
-561.2862999999999829
-561.2863
-0x.8c5252bd3c361p+10
-561.286300 -0x1.18a4a57a786c2p+9
在C中


该链接的可能副本未显示如何转换为c99标准?