与char.GetNumericValue有什么关系?

Mat*_*ves 28 .net unicode numbers char

我正在研究Euler 40项目,并且有点担心没有int.Parse(char).没什么大不了的,但我做了一些询问,有人建议char.GetNumericValue.GetNumericValue对我来说似乎是一个非常奇怪的方法:

  • 将char作为参数并返回...一个double?
  • 如果char不是'0'到'9',则返回-1.0

那么这种方法背后的原因是什么,以及返回双重服务的目的是什么?我甚至启动了Reflector并查看了InternalGetNumericValue,但它就像看着Lost一样:每个答案都会导致另一个问题.

Ada*_*lls 47

请记住,它采用Unicode字符并返回值."0"到"9"是标准的十进制数字,但是还有其他Unicode字符表示数字,其中一些是浮点数.

喜欢这个角色:¼

Console.WriteLine( char.GetNumericValue( '¼' ) );
Run Code Online (Sandbox Code Playgroud)

在控制台窗口中输出0.25.


Joh*_*sch 34

以下是返回的实际数值的完整列表:

0 - 0   1 - 1   2 - 2   3 - 3   4 - 4   5 - 5   6 - 6   7 - 7   8 - 8   9 - 9   
² - 2   ³ - 3   ¹ - 1   ¼ - 0.25    ½ - 0.5 ¾ - 0.75    ? - 0   ? - 1   ? - 2   ? - 3   
? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   
? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   
? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   
? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   
? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 1   ? - 2   ? - 3   ? - 4   
? - 16  ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   
? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   
? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   
? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   
? - 9   ? - 10  ? - 100 ? - 1000    ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 0.5 ? - 1.5 ? - 2.5 ? - 3.5 ? - 4.5 ? - 5.5 
? - 6.5 ? - 7.5 ? - 8.5 ? - -0.5    ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   
? - 7   ? - 8   ? - 9   ? - 10  ? - 20  ? - 30  ? - 40  ? - 50  ? - 60  ? - 70  
? - 80  ? - 90  ? - 100 ? - 10000   ? - 17  ? - 18  ? - 19  ? - 0   ? - 1   ? - 2   
? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   
? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   
? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   
? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   
? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   
? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   
? - 6   ? - 7   ? - 8   ? - 9   ? - 0.333333333333333   ? - 0.666666666666667   ? - 0.2 ? - 0.4 ? - 0.6 ? - 0.8 
? - 0.166666666666667   ? - 0.833333333333333   ? - 0.125   ? - 0.375   ? - 0.625   ? - 0.875   ? - 1   ? - 1   ? - 2   ? - 3   
? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 10  ? - 11  ? - 12  ? - 50  
? - 100 ? - 500 ? - 1000    ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   
? - 8   ? - 9   ? - 10  ? - 11  ? - 12  ? - 50  ? - 100 ? - 500 ? - 1000    ? - 1000    
? - 5000    ? - 10000   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   
? - 9   ? - 10  ? - 11  ? - 12  ? - 13  ? - 14  ? - 15  ? - 16  ? - 17  ? - 18  
? - 19  ? - 20  ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   
? - 9   ? - 10  ? - 11  ? - 12  ? - 13  ? - 14  ? - 15  ? - 16  ? - 17  ? - 18  
? - 19  ? - 20  ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   
? - 9   ? - 10  ? - 11  ? - 12  ? - 13  ? - 14  ? - 15  ? - 16  ? - 17  ? - 18  
? - 19  ? - 20  ? - 0   ? - 11  ? - 12  ? - 13  ? - 14  ? - 15  ? - 16  ? - 17  
? - 18  ? - 19  ? - 20  ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   
? - 8   ? - 9   ? - 10  ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   
? - 7   ? - 8   ? - 9   ? - 10  ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   
? - 7   ? - 8   ? - 9   ? - 10  ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   
? - 7   ? - 8   ? - 9   ? - 10  ? - 0.5 ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   
? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 10  ? - 20  ? - 30  ? - 1   ? - 2   
? - 3   ? - 4   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   ? - 8   
? - 9   ? - 10  ? - 21  ? - 22  ? - 23  ? - 24  ? - 25  ? - 26  ? - 27  ? - 28  
? - 29  ? - 30  ? - 31  ? - 32  ? - 33  ? - 34  ? - 35  ? - 1   ? - 2   ? - 3   
? - 4   ? - 5   ? - 6   ? - 7   ? - 8   ? - 9   ? - 10  ? - 36  ? - 37  ? - 38  
? - 39  ? - 40  ? - 41  ? - 42  ? - 43  ? - 44  ? - 45  ? - 46  ? - 47  ? - 48  
? - 49  ? - 50  ? - 0   ? - 1   ? - 2   ? - 3   ? - 4   ? - 5   ? - 6   ? - 7   
? - 8   ? - 9   

  • 对Pi只被归类为字母而不是数字而感到失望. (10认同)
  • 哇靠!你在哪里得到这个? (4认同)
  • @Adam Sills:我也是,但是你也必须至少让e,并取决于他们的受欢迎程度,也许还有像rho这样的人. (3认同)
  • 如果你允许e,你可能必须允许我,然后甚至`浮动'不再是一个足够的返回类型! (3认同)