Perl: the Markov chain saw PerlMonks

### Re^5: Change decimal point temporarily

by ikegami (Patriarch)
 on Aug 02, 2010 at 23:35 UTC ( #852569=note: print w/replies, xml ) Need Help??

in reply to Re^4: Change decimal point temporarily
in thread Change decimal point temporarily

I don't think so. That's the opposite of what he said (changing the decimal point from "." to ","), and it's the opposite of what his code does.

I see what you mean, but it still make no sense since he says setlocale works.

```\$ perl -we'use POSIX; setlocale LC_NUMERIC, "fr_FR"; print 0+"123,45"'
Argument "123,45" isn't numeric in addition (+) at -e line 1.
123

Replies are listed 'Best First'.
Re^6: Change decimal point temporarily
by lima1 (Curate) on Aug 03, 2010 at 00:32 UTC
Hm, It seems to work if you use locale:
```perl -we 'use POSIX; use locale; setlocale LC_NUMERIC, "fr_FR"; \$x = "
+123,45"; \$x+=0.1; print \$x; setlocale LC_NUMERIC, ""; \$x += 0.1; prin
+t \$x;'
Update: this does not work:
```perl -we 'use POSIX; use locale; setlocale LC_NUMERIC, "fr_FR"; \$x = "
+123,45";  print \$x; setlocale LC_NUMERIC, ""; \$x += 0.1; print \$x;'
So what I do now is to add 0 if it looks_like_number() and everything works fine. At least what I've tested until now...

ah! In that case,

```(my \$tmp = \$s) =~ s/,/./;
\$s = \$tmp if looks_like_numbers(\$tmp);

You'd be better of specifying which columns are numeric, though. Text::CSV_XS can even take advantage of that information if you tell it (via types).

Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://852569]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (1)
As of 2022-01-26 08:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
In 2022, my preferred method to securely store passwords is:

Results (69 votes). Check out past polls.

Notices?