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



  • Hola @Xedig

    Cuando dices hexagesimal supongo que quieres decir hexadecimal ¿no?

    No sé a qué te refieres con ceros a la izquierda. Pon un ejemplo de lo que quieres conseguir.

    Un saludo



  • 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



  • Juanki que tal, ha funcionado a la perfeción. Gracias por tu ayuda.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.