[Python-Dev] Unicode minus sign in numeric conversions

MRAB python at mrabarnett.plus.com
Sun Jun 9 02:39:59 CEST 2013


On 08/06/2013 23:30, Guido van Rossum wrote:
> [Diverting to python-ideas, since this isn't as clear-cut as you think.]
>
> Why exactly is that expected behavior? What's the use case? (Surely
> you don't have a keyboard that generates \u2212 when you hit the minus
> key? :-)
>
> Is there a Unicode standard for parsing numbers? IIRC there are a
> variety of other things marked as "digits" in the Unicode standard --
> do we do anything with those? If we do anything we should be
> consistent. For now, I think we *are* consistent -- we only support
> the ASCII representation of numbers. (And that's the only
> representation we generate as output as well -- think about symmetry
> too.)
>
We already recognise at least some of the digits:

 >>> float("\N{ARABIC-INDIC DIGIT ONE}")
1.0

(I haven't check all of them!)

> This page scares me: http://en.wikipedia.org/wiki/Numerals_in_Unicode
>
> --Guido
>
> On Sat, Jun 8, 2013 at 2:49 PM, Łukasz Langa <lukasz at langa.pl> wrote:
>> Expected behaviour:
>>>>> float('\N{MINUS SIGN}12.34')
>> -12.34
>>
>>
>> Current behaviour:
>> Traceback (most recent call last):
>> ...
>> ValueError: could not convert string to float: '−12.34'
>>
>>
>> Please note: '\N{MINUS SIGN}' == '\u2212'
>>



More information about the Python-Dev mailing list