Hay varios rangos en caracteres Unicode que representan dígitos, para los cuales char.IsDigit
devuelve true
. Por ejemplo:Encuentre el valor numérico de un carácter de dígito en C#
bool b1 = char.IsDigit('\uFF12'); // full-width '2' -> true
bool b2 = char.IsDigit('\u0665'); // true
bool b3 = char.IsDigit('5'); // true
Estoy buscando una forma de obtener el equivalente numérico de dichos caracteres. Tenga en cuenta que int.Parse(...)
NO funciona, ya que espera que los caracteres de entrada estén en el rango Unicode base ('0' .. '9').
Esto es equivalente al comportamiento de Character.digit(...)
de Java.
Dado que el método char.IsDigit
del .NET Framework identifica correctamente estos caracteres como dígitos, espero que también tenga esta funcionalidad, pero no pude encontrar nada.
Sí, lo intenté también. Funciona, gracias. He comprobado todos los métodos en la clase 'char', es vergonzoso que haya pasado por alto este ... – Iravanchi
Incluso las computadoras portátiles de Jon Skeet arrancan más rápido;) –