如何在Golang中将float64转换为c99十六进制字符串?
如何将float64转换为遵循Golang中c99标准的十六进制字符串 -例如,561.2863至-0x1.18a4a57a786c2p9如何在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,
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标准?