est-ce que .net fournit une API pour convertir ASCII en BCD?
Question
À partir de 3.5 .net. (c #)
veuillez me référer au code qui convertit ascii en bcd (c #).
La solution
le nombre entier stockera la valeur BCD ... pourrait être une façon plus propre mais cela devrait faire l'affaire. Mais je demanderais encore pourquoi?
char[] str = "12345".ToCharArray();
int num = 0;
for (int i = 0; i < str.Length; i++)
{
var val = str[str.Length -1 - i] - 48;
if (val < 0 || val > 9)
throw new ArgumentOutOfRangeException();
num += val << (4 * i);
}
Console.WriteLine(num.ToString("x2")); //must be viewed as hex
... si vous voulez le faire dans LINQ (cela n'a pas de vérification des limites) ...
int vs = "12345".ToCharArray().Reverse()
.Select((c, i) => (c-48) << 4 * i)
.Sum();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow