为了账号安全,请及时绑定邮箱和手机立即绑定

将科学记数法转换为十进制数

将科学记数法转换为十进制数

Go
30秒到达战场 2022-09-26 20:05:19
我有一个数字以科学记数法6.316159832682479e-06存储为float64,将其转换为正常十进制数(0.000006316159832682479)并仍将其保留在float64中的最佳方法是什么。我需要正常的小数位数进行进一步的计算和 API 调用。... fmt.Printf("%v,%T",ol,ol) ... Prints: 6.34e-06,float64
查看完整描述

1 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

正如其他人所指出的,您无需转换该值以进行任何进一步的计算。您在问题中提供的两个数字描述了相同的 float64 值。对数字的任何计算都将产生相同的结果,无论其格式如何。


至于格式化该值的字符串表示形式,您可以使用函数(docs)完全控制浮点数的格式。strconv.FormatFloat()


该示例将打印不带任何指数的数字的十进制表示形式:


package main


import (

    "fmt"

    "strconv"

)


func main() {

    d := 0.000006316159832682479


    fmt.Println(strconv.FormatFloat(d, 'f', -1, 64))

}

另请注意,使用其他格式字符串可以实现类似的结果。请参阅此处的包文档。fmt.Sprintf()fmt


查看完整回答
反对 回复 2022-09-26
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信