草庐IT

GL_FLOAT

全部标签

go - 将 float 打印为字符串时的精度损失

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion如果我将int数字存储到一个结构中,然后对它们应用除法,我就碰巧遇到了这种情况。精度会丢失。funcmain(){varx=94911151vary=94911150//Ifweusethevaluetocalculatedivisiondirectly,itwouldbefinevarresult

go - 如何获得最小的非零float64?

数学库似乎没有用于float64的Min函数。我如何获得最小的非零float64? 最佳答案 正如@oliver-charlesworth所说:packagemainimport("fmt""math")funcmain(){fmt.Printf("%.12G",math.SmallestNonzeroFloat64)}https://play.golang.org/p/kRuIhalODGa输出:4.94065645841E-324 关于go-如何获得最小的非零float64?,我们在

go - 将一片字符串转换为一片 float32

在我的程序中,我通过bufio扫描器将一串数字(例如:5443.3-43.2)添加到slice中。然后我想将每个空间的slice拆分成另一个slice以将其转换为float32。这是我所拥有的:varnewSlice[]float32sliceScan=scanner.Text()s:=strings.Split(sliceScan,"")fori:=0;i当我运行它时,我得到了这个错误:syntaxerror:unexpectedsattheendofstatement 最佳答案 您可以使用strconv.ParseFloat:v

math - 将 uint8 转为 float32

我正在尝试学习Go并研究降雨强度工具。对于此工具,我必须进行如下计算:varintensityfloat32intensity=10^((value−109)÷32)值是一个uint8,范围从0到255。强度变量是一个float。但是,Go告诉我cannotuse10^(value-109)/32(typeuint8)astypefloat32inassignment我该如何解决这个问题? 最佳答案 Go中没有÷运算符,^是按位异或,需要使用mathPow函数包Go对类型转换非常严格,因此在很多情况下它不允许隐式类型转换(因此无符号

go - 如何检查值是否为 float

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭4年前。Improvethisquestion我想检查我传递的值是否为float。我有一段代码可以检查它是某个字符串还是float。如果两者都不是,则报错。这是代码:ifsensorData.Passport.Geolocation.Latitude!="gps"&&sensorData.Passp

arrays - golang中的字符串到二维 float 组

我正在go中编写代码以通过其余API检索数据。我得到的输出是一个二维数组作为字符串,像这样[[1514771940,13345.7,13381.01,13381,13345.7,4.276442830000001],[1514771880,13332.12,13387.72,13332.12,13381,14.83685867],...]如何将此string转换为二维float组? 最佳答案 这只是json中的数组数组。您可以使用json解析它包裹:packagemainimport("encoding/json""fmt")fun

json - 如何解码包含整数、 float 和数字字符串的 JSON?

我有多个不同的JSON数据请求被传递到我的Go应用程序,其中包含不同格式的数字。请求示例如下:{"stringData":"123456","intData":123456,"floatData":123456.0}有没有办法将此数据解码为由JSON数据确定的类型。例如,字符串数据为“123456”,整型数据为123456,浮点型数据为123456.0。我没有为这些JSON对象定义结构,因此无法为这些对象创建结构。我看过decoder.UseNumber()方法将数据转换成字符串,但我不知道之后如何处理stringData和intData之间的差异。 最佳答

shell - 将 shell 输出转换为 float64?

我正在使用带有golang的shell来访问apache日志文件并获取一些数据。首先,我曾经直接将输出写入文件并且它可以正常工作,但现在我需要获取输出并直接在程序中使用它。而且我还需要将它转换为float64。我尝试将其转换为字符串,然后再转换为float64,但它不起作用?funcMem_usage_data(jint)(Mem_predictfloat64,errerror){awkPart:=fmt.Sprintf("awk'{print$%d/1024}'",j)out1,err:=exec.Command("bash","-c","tail-n1/var/log/apache

go - 比较 float64 值和常量

当您使用interface{}和它的类型检测时,在比较JSON的未编码值时,我发现了一个不清楚且有点奇怪的事情。包主import("fmt""os""encoding/json""reflect")typeMessagestruct{Codeint`json:"code"`}funcmain(){varjsons[]byte=[]byte(`{"code":200}`)vart=make(map[string]interface{})e:=json.Unmarshal(jsons,&t)ife!=nil{fmt.Printf("Unmarshalerror:%v",e)os.Exit(

go - 如何在 Go 中将 Float64 转换为 Base36?

我已经说了值0.36388617850285954,当我使用Javascript.toString(36)函数时,我得到了输出“0.d3lh1pogpwk”。我想在golang中复制它,但是我没有真正的起点。我将如何执行此操作? 最佳答案 Gobase36包不能正确转换它,因为Javascript的toString(36)没有对float64进行base36编码,它使用36的基数来表示它。关于细节,文档乏善可陈关于此函数如何作用于Number对象(且仅作用于数字对象)的说明,其逻辑也非常奇怪,但位于此处:https://develo