我想在Tcl中进行数学运算,得到精确的结果,例如点后两位数。示例:1/100 = 0.01。我尝试使用puts" [格式"%。2f" [expr 1/100]]",但这没有用。
有人可以解决我的难题吗?
谢谢!
答案 0 :(得分:2)
如果至少有一个参数是浮点数,则Tcl的除expr
运算符仅执行浮点除法。如果两者都是整数,则得到整数除法。
% expr {1/100}
0
% expr {1.0/100}
0.01
% expr {1/double(100)}
0.01
如上所示,double
强制转换功能可能会有所帮助。
答案 1 :(得分:0)
您可以将浮点值而不是整数传递给表达式:
puts "[format "%.2f" [expr 1/100.0]]"
或者...
puts "[format "%.2f" [expr 1.0/100]]"
此外,建议用表达式括起来,例如:
puts "[format "%.2f" [expr {1/100.0}]]"