我将坐标(位置)作为 2 个 float64 数字的输出,它看起来像这样:&{%!s(float64=42.539679) %!s(float64=42.601339)}这是我第一次看到这样的东西,那么“%!s”是什么?“TypeOf”表示“%!s(float64=42.539679)”是 float64。那么我该如何使用这种花车呢?有什么方法可以解析它,或者以某种方式使 %!s(float64=42.539679) 看起来像 42.539679?UPD:突出显示的行是来自 Syfaro 的电报机器人 api 的 *tgbotapi.Location 对象。该api具有以下结构:type Location struct { Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"`}Location.Latitude 给了我这个:“%!s(float64=42.539679)”(float64)(?)
2 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
我认为这是使用不正确格式“动词”的问题。您需要使用%f而不是%s
package main
import (
"fmt"
)
func main() {
var f float64 = 3.14
fmt.Printf("attempting to print as string: %s \n", f)
fmt.Printf("attempting to print as float: %f", f)
}
可运行:https : //play.golang.org/p/Pec_QrxBIl
- 2 回答
- 0 关注
- 471 浏览
添加回答
举报
0/150
提交
取消
