[Moscow.pm] WTF?

Yuri Pac yu.pats на gmail.com
Вт Дек 23 02:09:38 PST 2008


$ perl -MData::Dumper -e 'print Dumper( 15.50 eq 15.5 )'
$VAR1 = 1;
$ perl -MData::Dumper -e 'print Dumper( '15.50' eq '15.5' )'
$VAR1 = 1;
$ perl -MData::Dumper -e 'print Dumper( '15.50000' eq '15.5' )'
$VAR1 = 1;
$ perl -MData::Dumper -e 'print Dumper( '15.50000' == '15.5' )'
$VAR1 = 1;
$ perl -MData::Dumper -e 'print Dumper( "15.5000" eq "15.5" )'
$VAR1 = '';
$ perl -MData::Dumper -e 'print Dumper( "15.5000" == "15.5" )'
$VAR1 = 1;


2008/12/23 Andrey <jerom+moscow-pm на bibirevo.net>:
>> $ perl -MData::Dumper -e 'print Dumper( (8.8-1.95) == 6.85 )'
>> $VAR1 = '';
>> $ perl -MData::Dumper -e 'print Dumper( (8.5-1.65) == 6.85 )'
>> $VAR1 = 1;
>>
>> Как правильно сделать простую арифметику?
>
> Использовать sprintf "%.2f" или сравнения вида abs($float1-$float2) <
> $epsilon.
>
> Если это деньги, то их просто надо считать в копейках, целыми.
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
WBR, Yuri Pac


Подробная информация о списке рассылки Moscow-pm