1

誰かが私に説明してもらえますか、それぞれどのようにstrtod機能しますか。-locale10,2にもかかわらず、なぜここに来るのですか?en_EN

#!/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
4

1 に答える 1

3

ISO3166識別子が間違っています。試してみてくださいUS

于 2011-03-10T12:33:01.753 に答える