私は TCL 8.4 を使用していますが、以下は期待どおりに動作しますが、
% if { 50.02 < 50.02 } { puts HI }
% set s 50.02
50.02
% if { $s < 50.02 } { puts HI }
% set high 50.02
50.02
% if { $s < $high } { puts HI }
%
%
% if { 50.02 < $high } { puts HI }
この次が機能しないのはなぜですか? 私は本当にこの行動を理解できません。注: $s が 50.03 の場合、期待どおりに動作します。
% set s [ expr 50.01 + 0.01 ]
50.02
% if { $s < $high } { puts HI }
HI
% set s [ expr double(50.01 + 0.01) ]
50.02
% if { $s < $high } { puts HI }
HI