[Moscow.pm] int

Andrew Shitov andy на shitov.ru
Вт Июн 8 06:09:49 PDT 2010


ash на saranda:~/test/cpp-float$ cat test.cpp
#include<iostream>

using namespace std;

int main() {
    float a = 19.4016;
    cout << int(a * 10000);

    return 0;
}

ash на saranda:~/test/cpp-float$ ./a.out
194015



2010/6/8 Иван Бессарабов <ivan на bessarabov.ru>:
> Скрипт:
> {{{
> #! /usr/bin/perl
>
> my $a = "19.4016";
>
> print '$a =           '  . $a            . "\n";
> print '$a*10000 =      ' . $a*10000      . "\n";
> print 'int($a*1000) =  ' . int($a*10000) . "\n";
> }}}
>
> Результат работы:
> {{{
> $a =           19.4016
> $a*10000 =      194016
> int($a*1000) =  194015
> }}}
>
> Да, в "perldoc -f int" написано что "machine representations of
> floating-point numbers can sometimes produce counterintuitive
> results", но я все равно сильно удивлен. Это нормально, что скрипт так
> работает?
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Andrew Shitov
______________________________________________________________________
andy на shitov.ru | http://shitov.ru


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