Comment puis-je convertir les éléments suivants?
2934 (entier) à B76 (hex)
Permettez-moi d'expliquer ce que j'essaie de faire. J'ai des ID utilisateur dans ma base de données qui sont stockés sous forme d'entiers. Plutôt que de demander aux utilisateurs de référencer leurs identifiants, je veux les laisser utiliser la valeur hexadécimale. La raison principale est qu'il est plus court.
Donc, non seulement je dois passer de l'entier à l'hex, mais je dois aussi passer de l'hex à l'entier.
Existe-t-il un moyen simple de le faire en C #?
c#
hex
type-conversion
codette
la source
la source
Integer
raccourcissement de la mise en œuvre? Si le seul objectif est de rendre l'ID utilisateur aussi court que possible, je serais intéressé de savoir s'il existe une autre raison apparente pour laquelle vous avez spécifiquement besoin d'une conversion hexadécimale - sauf si je l'ai manqué bien sûr. Est-il clair et connu (le cas échéant) que les ID utilisateur sont en fait une représentation hexadécimale de la valeur réelle?Réponses:
depuis http://www.geekpedia.com/KB8_How-do-I-convert-from-decimal-to-hex-and-hex-to-decimal.html
la source
Utilisation:
Consultez Comment: convertir entre des chaînes hexadécimales et des types numériques (Guide de programmation C #) pour plus d'informations et d'exemples.
la source
Essayez ce qui suit pour le convertir en hexadécimal
Et encore une fois
la source
la source
Je remets vraiment en question la valeur de cela, cependant. Votre objectif déclaré est de réduire la valeur, ce qui sera le cas, mais ce n'est pas un objectif en soi. Vous voulez vraiment dire soit rendre plus facile à retenir ou plus facile à taper.
Si vous voulez dire plus facile à retenir, vous faites un pas en arrière. Nous savons que c'est toujours la même taille, juste encodé différemment. Mais vos utilisateurs ne sauront pas que les lettres sont limitées à «A-F», et donc l'ID occupera le même espace conceptuel pour eux que si la lettre «AZ» était autorisée. Donc, au lieu d'être comme mémoriser un numéro de téléphone, c'est plus comme mémoriser un GUID (de longueur équivalente).
Si vous voulez dire taper, au lieu de pouvoir utiliser le clavier, l'utilisateur doit maintenant utiliser la partie principale du clavier. Il sera probablement plus difficile à taper, car ce ne sera pas un mot que leurs doigts reconnaîtront.
Une bien meilleure option consiste à les laisser choisir un vrai nom d'utilisateur.
la source
Vers hex:
À int:
la source
J'ai créé ma propre solution pour convertir int en chaîne hexadécimale et retour avant de trouver cette réponse. Sans surprise, c'est beaucoup plus rapide que la solution .net car il y a moins de surcharge de code.
Code temporel:
Résultats:
la source
CADRE NET
PASCAL >> C #
Quelque chose de la vieille école très ancienne procédure de pascal converti en C #
la source
Imprimer un entier en valeur hexadécimale avec un remplissage nul (si nécessaire):
https://docs.microsoft.com/en-us/dotnet/standard/base-types/how-to-pad-a-number-with-leading-zeros
la source
int en hex:
hex à int:
la source