加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在golang中读取float符号?

发布时间:2020-12-16 19:03:24 所属栏目:大数据 来源:网络整理
导读:从结构图中打印出一些值时.我看到某些float64值与替代表示法.测试通过,但你如何阅读这个符号(4e-06).这个值确实与“0.000004”相同吗? package mainimport ( "fmt" "strconv" "testing")func TestXxx(t *testing.T) { num := fmt.Sprintf("%f",float64(1.22
从结构图中打印出一些值时.我看到某些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的力量)

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

men

见Spec: Floating-point literals.

您的号码:4e-06,其中m = 4且n = -6,这意味着4 * 10-6等于0.000004.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读