[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