Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 如何将float(-1.0)正确转换为int-1?_Go - Fatal编程技术网

Go 如何将float(-1.0)正确转换为int-1?

Go 如何将float(-1.0)正确转换为int-1?,go,Go,我的代码: 步骤:=10.0 精度:=int(数学日志10(1/步)) fmt.PrintLn(精度) 我想要精度==-1,但得到了0…浮点到整数的转换将被截断,因此如果您的浮点数是例如0.99,将其转换为整数将是0,而不是1 如果要舍入为整数,只需使用(返回float64,因此仍然需要手动转换为int,但结果将是您期望的): 这将输出(在上尝试): 如果你想四舍五入到一个特定的分数(而不是整数),请参阅。你真可爱,我只是用同样的方法解决了这个问题,但我花了很长时间来解决这个问题。 step

我的代码:

步骤:=10.0
精度:=int(数学日志10(1/步))
fmt.PrintLn(精度)

我想要精度==-1,但得到了0…

浮点到整数的转换将被截断,因此如果您的浮点数是例如
0.99
,将其转换为整数将是
0
,而不是
1

如果要舍入为整数,只需使用(返回
float64
,因此仍然需要手动转换为
int
,但结果将是您期望的):

这将输出(在上尝试):


如果你想四舍五入到一个特定的分数(而不是整数),请参阅。

你真可爱,我只是用同样的方法解决了这个问题,但我花了很长时间来解决这个问题。
step := 10.0
precision := int(math.Log10(1 / step))
fmt.Println(precision)

precision = int(math.Round(math.Log10(1 / step)))
fmt.Println(precision)
0
-1