gpt4 book ai didi

go - 如何阅读golang中的浮点符号?

转载 作者:IT王子 更新时间:2023-10-29 01:17:40 26 4
gpt4 key购买 nike

从结构图中打印出一些值时。我看到某些带有替代符号的 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 乘以 10 的 n 次方)

在编程语言中,它被编写/打印为:

men

参见 Spec: Floating-point literals .

您的号码:4e-06,其中m=4n=-6,即4*10-6 等于 0.000004

关于go - 如何阅读golang中的浮点符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41212445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com