如何在没有科学记数法的情况下在Golang中将float打印为字符串

如何在没有科学记数法的情况下在Golang中将float打印为字符串,第1张

概述假设我有一个包含2个项目的数组,其类型为string / float. 如何在没有浮动项目的科学记号的情况下将它们打印在一起. 例如: package mainimport ( "fmt")func main() { values := []interface{}{"mydata", 1234567890.123} for _, v := range values 假设我有一个包含2个项目的数组,其类型为string / float.
如何在没有浮动项目的科学记号的情况下将它们打印在一起.

例如:

package mainimport (    "fmt")func main() {    values := []interface{}{"mydata",1234567890.123}    for _,v := range values{        fmt.Printf("%v\n",v)    }}

输出将是

mydata

1.234567890123e+09

我想要的是

mydata

1234567890.123

fmt的软件包文档解释了它:%v动词是默认格式,对于浮动数字意味着/恢复为%g,这是

%e for large exponents,%f otherwise. Precision is discussed below.

如果您总是想要“小数点但没有指数,例如123.456”,请明确使用%f.

但是您只能将其用于浮动数字,因此您必须检查打印值的类型.为此,您可以使用type switch或type assertion.

例:

switch v.(type) {case float64,float32:    fmt.Printf("%f\n",v)default:    fmt.Printf("%v\n",v)}

输出(在Go Playground上试试):

mydata1234567890.123000
总结

以上是内存溢出为你收集整理的如何在没有科学记数法的情况下在Golang中将float打印为字符串全部内容,希望文章能够帮你解决如何在没有科学记数法的情况下在Golang中将float打印为字符串所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1293760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存