Azure data explorer Azure Data Explorer中的Kusto范围查询不使用偶数步骤

Azure data explorer Azure Data Explorer中的Kusto范围查询不使用偶数步骤,azure-data-explorer,kql,Azure Data Explorer,Kql,这个问题 range x from -1 to 1 step 0.2 | project x 产生这个结果。这是正确的吗 是的,根据提供的值推断的类型是浮点。如果希望看到精确的数字,请使用十进制类型,例如: range x from decimal(-1) to decimal(1) step decimal(0.2) 使用浮点数处理数字不能期望100%精确 我编写了一个快速的C程序,它从float f=0.0f开始,然后运行f+=0.1100次,同时每10次打印f,结果是: 1.00000

这个问题

range x from -1 to 1 step 0.2
| project x
产生这个结果。这是正确的吗


是的,根据提供的值推断的类型是浮点。如果希望看到精确的数字,请使用十进制类型,例如:

range x from decimal(-1) to decimal(1) step decimal(0.2)

使用浮点数处理数字不能期望100%精确

我编写了一个快速的C程序,它从
float f=0.0f
开始,然后运行
f+=0.1
100次,同时每10次打印f,结果是:

1.000000
2.000000
2.999999
3.999998
4.999998
5.999997
6.999996
7.999995
8.999998
10.000002
您可以查看/修改/运行我在此处编写的代码:

缺乏精度不仅可能发生在算术计算中,也可能发生在将浮点数转换为字符串(在层之间传递或打印之前)的代码中

正如@avnera所建议的,使用
decimal
确实可以提高精度,但您仍然不应该期望它是100%精确的