错误:无法记录-9.4351e + 0.007的日志

lol*_*lla 0 perl logarithm

我正在使用Perl创建一个迷你搜索引擎.虽然这样做我正在使用一个带有日志到基数10的公式.但是对于某些值我得到一个错误:

不能记录-9.4351e + 0.007的日志.

无法跟踪我从哪里得到此错误.我只是想忽略这个案子.如何在Perl中处理这个问题.查找基数10的子程序如下:

sub log10 {
my $n=shift;
return log($n)/log(10);
}
Run Code Online (Sandbox Code Playgroud)

所以我可能正在寻找一张支票,上面写着,如果是这样,那么价值就找不到日志了.

Zai*_*aid 6

你不能记录负数.

有关详细信息,请参阅Wolfram MathWorld.

  • @Borodin`print 0 +" - 9.4351e + 0.007"`显示它是如何编号的,这是`-9.4351`,这是一个负数:) (2认同)