![]() |
Relleno de ceros a la izquierda Hola Foreros! Estoy en una aplicación WebForm en VB.NET y me preguntaba si existía una función interna en la que enviándole dos números haga lo siguiente: rellenaCeros (14,4) = 0014 Saludos!! :adios: |
No entiendo.... Que quieres que haga???? |
Vaya, es verdad. No he puesto lo que quería que hiciera. 14 es ún número entero cualquiera y 4 es el número de caracteres que deseo que tenga la cadena en total.^ Así que si a la función le llega un 14 (tiene 2 caracteres numéricos) por un lado y un 4 que le indica que tiene que ser una cadena con 4 número el resultado es 0014 (4 caracteres) Tal como pongo en el título, símplemente es rellenar de ceros a la izquierda hasta llegar al número de caracteres que indique la función. Ejemplos: (312,8) = 00000312 (9,2) = 09 (9,1) = 9 (99,1) = error Creo que está claro. ;-) |
Que yo sepa no existe, pero sería fácil implementarla |
Si lo haces con unos if's y manejando los ceros, puedes realizar el relleno de ceros... num=14 relleno=4 long=len(num) if relleno<>long then rellenar end if completalo y veras que te sale... saludos |
Te paso un ejemplo de como te quedaría: Cita:
Cita:
Salu2 |
Muchas gracias a todos los que habeis participado. Ya se que podía implementarla. Pero era para ahorrarme trabajo si es que existía o incluso si se podría realizar en una sola línea de código uniendo un par de funciones de las de toda la vida. :-D De todas formas... un millón de gracias!!! :adios: |
Para quien lo quiera para VC++ o una DLL para llamar y que sea rápido, he hecho una función estilo a las ANSI-C en inline ASM... Código: #include <stdio.h>Código: 0000012345** EDIT: pops sustituidos por add dado que itoa devuelve el puntero que se le pasa y por lo tanto lo tenemos en eax para hacer push a strlen sin usar edx - Eternal Idol |
| La zona horaria es GMT -6. Ahora son las 06:44. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.