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