set number [expr {int(1.2/0.1)}]
puts $number
从上面得到输出
" 11"
有人可以解释如何使用TCL获得此结果
答案 0 :(得分:4)
那是因为1.2 / 0.1是11.999999999999998。并且int()
仅获取整数部分并丢弃.999999999999998
部分。所以答案就变成了11。
至于为什么它是11.999999999999998,这是浮点数的行为。关于SO以及互联网的其他部分有很多问题,所以我要指出一个问题:Is floating point math broken?