从结构图中打印出一些值时.我看到某些float64值与替代表示法.测试通过,但你如何阅读这个符号(4e-06).这个值确实与“0.000004”相同吗?
package main import ( "fmt" "strconv" "testing" ) func TestXxx(t *testing.T) { num := fmt.Sprintf("%f",float64(1.225788)-float64(1.225784)) // 0.000004 f,_ := strconv.ParseFloat(num,64) if f == 0.000004 { t.Log("Success") } else { t.Error("Not Equal",num) } if getFloat(f) == 0.000004 { t.Log("Success") }else{ t.Error("Fail",getFloat(f)) } } func getFloat(f float64) float64 { fmt.Println("My Float:",f) // 4e-06 return f }
这种表示法称为
Scientific notation,它是以紧凑,简短的形式打印非常小或非常大的数字的便捷方式.
它的形式是
m × 10n
(m乘十次提升到n的力量)
在编程语言中,它被编写/打印为:
m
e
n
见Spec: Floating-point literals.
您的号码:4e-06,其中m = 4且n = -6,这意味着4 * 10-6等于0.000004.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。