此expr命令如何在TCL中工作

时间:2015-02-17 06:36:54

标签: floating-point tcl

set number [expr {int(1.2/0.1)}] 
puts $number

从上面得到输出

  

" 11"

有人可以解释如何使用TCL获得此结果

1 个答案:

答案 0 :(得分:4)

那是因为1.2 / 0.1是11.999999999999998。并且int()仅获取整数部分并丢弃.999999999999998部分。所以答案就变成了11。

至于为什么它是11.999999999999998,这是浮点数的行为。关于SO以及互联网的其他部分有很多问题,所以我要指出一个问题:Is floating point math broken?