POSIX: strtod - вопрос - PullRequest
       13

POSIX: strtod - вопрос

1 голос
/ 10 марта 2011

Может кто-нибудь объяснить мне, как strtod работает соотв.почему я попал сюда 10,2 несмотря на en_EN -locale?

#!/usr/bin/env perl
use warnings;
use 5.012;
use POSIX qw(locale_h strtod);

setlocale( LC_NUMERIC, 'en_EN.UTF-8' );

my $str = '5,6';

$! = 0;
my ( $num, $n_unparsed ) = strtod( $str );

if ( $str eq '' or $n_unparsed != 0 or $! ) {
    die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
}

say $num + 4.6;

# 10,2

1 Ответ

3 голосов
/ 10 марта 2011

Ваш идентификатор ISO 3166 неверен. Попробуйте US.

...