我想计算一个包括指数的表达式。
但是当我尝试评估如下表达式时:
exp(-1.0e3)
我收到一条错误消息:
"floating point value too small to represent"
我怎样才能避免这种情况?
当值太小而无法表示时,我只想得到 0.0。
我想计算一个包括指数的表达式。
但是当我尝试评估如下表达式时:
exp(-1.0e3)
我收到一条错误消息:
"floating point value too small to represent"
我怎样才能避免这种情况?
当值太小而无法表示时,我只想得到 0.0。
你用的是什么版本的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 是否将其理解为(中等)大的负数和一些更大的负数(-1e100
)。