ceros a la izquierda
-
Que tal, os quería preguntar ¿como puedo pasar el valor hexagesimal de una variable con ceros a la izquierda a un string?
Puedo pasar el valor hexagesimal de la siguiente manera:Qstring std; int numero std = QString::number(numero, 16);
Asi asigno a el string std la cadena del valor de numero en hexagesimal, pero no se como mostrarlo con ceros a la izquierda.
gracias de antemano -
Juanki que tal, me acaba de quemar la vista lo que yo mismo he escrito por dos veces, es posible que el teclado predictivo de la tablet me la haya jugado, pero eso no es excusa. Si, me refiero a hexadecimal y lo unico que he podido hacer es añadir un '0' antes si el número es menor de un valor, como por ejemplo:
if(i<=15){ std += "0"; } std+= std2;
Esto me añadiría un '0' si el número es menor de 15, que en HEXADECIMAL (lo he resaltado para mi mismo) sería 'f' lo que resultaría std="0f".
¿Sabriais decirme si existe alguna forma?
Gracias de ante mano -
Hola @Xedig
Los correctores de los móviles o tablas juegan más de una pasada, lo digo por experiencia XD
Ahora sí entendí, lo que tu quieres es que los número hexadecimales te los represente con dos caracteres, por ejemplo el número 12, que sería "C", tú quieres que aparezca como "0C".
Pues he probado y tanto QString::number como setNum te lo convierten con un único carácter, lo único que se me ocurre es que uses el método arg de QString para formatear la salida, algo así:
int numero = 12; QString numeroHex = QString("%1").arg(numero, 2, 16, QLatin1Char('0')).toUpper();
Pero para números grandes habría que cambiar el formato y en vez de 2, habría que poner 4 o más, depende del número.
Un saludo