如何避免TCL中浮点太小的错误

时间:2013-09-27 11:07:55

标签: math floating-point tcl

我想计算一个包含指数的表达式。

但是当我尝试评估一个表达式时:     exp(-1.0e3)

我收到一条错误消息:     "floating point value too small to represent"

我该如何避免这种情况?

我只想在值太小而无法表示时得到0.0。

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的Tcl?你在什么平台上?它对我有用(在OSX上):

$ tclsh8.4
% expr exp(-1.0e3)
0.0
% info patchlevel
8.4.19
$ tclsh8.5
% expr exp(-1.0e3)
0.0
% info patchlevel
8.5.9
$ tclsh8.6
% expr exp(-1.0e3)
0.0
% info patchlevel
8.6.1

当我将该值放入变量并使用它时,它也可以正常工作,并且我已经检查过Tcl将其理解为(中等)大负数和一些更大的负数({{1 }})。