¿Cómo puedo convertir los siguientes?
2934 (entero) para B76 (hex)
Permítanme explicar lo que estoy tratando de hacer. Tengo Id de Usuario en mi base de datos que se almacenan como enteros. En lugar de tener a los usuarios la consulta de sus Identificadores quiero dejar de usar el valor hexadecimal. La razón principal es porque es más corta.
Así que no sólo tengo que ir de número entero a la hexagonal, pero también me necesitas para pasar de hexadecimal a entero.
Hay una forma fácil de hacer esto en C#?
Respuestas
¿Demasiados anuncios?// Store integer 182
int decValue = 182;
// Convert integer 182 as a hex in a string variable
string hexValue = decValue.ToString("X");
// Convert the hex string back to the number
int decAgain = int.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);
de http://www.geekpedia.com/KB8_How-do-I-convert-from-decimal-to-hex-and-hex-to-decimal.html
int myInt = 2934;
string myHex = myInt.ToString("X"); // gives you hex
int myNewInt = Convert.ToInt32(myHex, 16); // back to int again.
ver aquí para más información y ejemplos - http://msdn.microsoft.com/en-us/library/bb311038.aspx.
Intente lo siguiente para convertir a hexadecimal
public static string ToHex(this int value) {
return String.Format("0x{0:X}", value);
}
Y de nuevo
public static int FromHex(string value) {
// strip the leading 0x
if ( value.StartsWith("0x", StringComparison.OrdinalIgnoreCase)) {
value = value.Substring(2);
}
return Int32.Parse(value, NumberStyles.HexNumber);
}
string HexFromID(int ID)
{
return ID.ToString("X");
}
int IDFromHex(string HexID)
{
return int.Parse(HexID, System.Globalization.NumberStyles.HexNumber);
}
Realmente me pregunta el valor de esto, sin embargo. Eres objetivo declarado es hacer que el valor más corto, que será, pero que no es un objetivo en sí mismo. Que significa realmente hacer que sea más fácil de recordar o más fácil de escribir.
Si te refieres a más fáciles de recordar, entonces usted está tomando un paso atrás. Sabemos que es todavía el mismo tamaño, sólo codificados de manera diferente. Pero los usuarios no saben que las cartas están restringidos a 'A-F', y así la IDENTIFICACIÓN de ocupar el mismo espacio conceptual para ellos como si de la letra de 'a-Z'. Así que en lugar de ser como la memorización de un número de teléfono, se parece más a la memorización de un GUID (de longitud equivalente).
Si te refieres a escribir, en lugar de ser capaz de utilizar el teclado ahora el usuario debe utilizar la parte principal del teclado. Es probable que sea más difícil de escribir, porque no será una palabra de sus dedos a reconocer.
Una opción mucho mejor es dejar que ellos elijan un nombre real.