Foros del Web » Programando para Internet » PHP »

como puedo sumar respetando los ceros a la izquierda?

Estas en el tema de como puedo sumar respetando los ceros a la izquierda? en el foro de PHP en Foros del Web. saludos, tengo un problema que no puedo resolver, necesito sumar de la siguiente manera Código PHP: $num = 0002 ; $num2 = 0003 ; $suma ...
  #1 (permalink)  
Antiguo 12/08/2008, 13:20
 
Fecha de Ingreso: julio-2008
Mensajes: 11
Antigüedad: 15 años, 9 meses
Puntos: 1
como puedo sumar respetando los ceros a la izquierda?

saludos,
tengo un problema que no puedo resolver,
necesito sumar de la siguiente manera
Código PHP:
$num=0002;
$num2=0003;

$suma=$num+$num2;
echo 
$suma
yo necesito que el resultado me salga 0005, pero como es de esperarse el resultado es simplemente 5

Código PHP:
<?php
    mysql_connect
("localhost","root","01123581321");
    
mysql_select_db("ventas");
    
$sql="select max(cod_cli) from tb_clientes";
    
$rs=mysql_query($sql);
    
    if(
mysql_num_rows($rs)==0){
       
$codcli='c0000001';
    }else{
       
$reg=mysql_fetch_row($rs);
       
$cod=substr($reg[0],6,7)+1;
       
$codcli='c000000'.$cod;
    } 
?>
alguien seria tan amable de decirme porfavor como puedo hacer para sumar de esa manera?
gracias de antemano.
  #2 (permalink)  
Antiguo 12/08/2008, 13:42
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 16 años
Puntos: 5
Respuesta: como puedo sumar respetando los ceros a la izquierda?

Tenes que definir ese dato, en la base de datos, con 'ZEROFILL'. Lo que hace, es rellenar con ceros a la izquierda, tantos como tu le indiques.

http://dev.mysql.com/doc/refman/5.0/...-overview.html

Luego, en el php, te aseguras de mantener todos los dígitos. No dudo qe haya funciones con el mismo nombre o relacionadas en PHP.

Saludos

PD: Por curiosidad, porqué sumarías dos códigos de cliente...??! :P
  #3 (permalink)  
Antiguo 12/08/2008, 16:37
 
Fecha de Ingreso: julio-2008
Mensajes: 11
Antigüedad: 15 años, 9 meses
Puntos: 1
gracias CHITOSO
voy a probar lo que dices,eso del zerofill, y respecto a sumaar dos codigos de cliente, no es eso lo que estoy haciendo exactamente lo que hago es separar la parte numerica de la parte string y sumarle uno a la parte numerica y luego concatenar otra vez

pensandolo bien acaso zerofill no es un de tipo numeric? osea como puedo insertar un valor como c0001 en un campo q solo acepta numeros?

alguien mas pls? t.t

Última edición por GatorV; 13/08/2008 a las 08:57
  #4 (permalink)  
Antiguo 13/08/2008, 09:10
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 16 años
Puntos: 5
Respuesta: como puedo sumar respetando los ceros a la izquierda?

Tenes razón, como en el primer fragmento de código sumaste dos numeros, ignoré las letras en el segundo.
Pero, como te dije, debe de haber funciones nativas de php o creadas por usuarios que traten con este tema. Creo que vas a obtener buenos resultados buscando por zerofill y php en google.
  #5 (permalink)  
Antiguo 13/08/2008, 09:25
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: como puedo sumar respetando los ceros a la izquierda?

Joder cada vez que veo respuestas me doy cuenta de lo chapuzas que soy xD

Yo siempre que he tenido problemas así lo he arreglado con condiciones y strlen();

Si por ejemplo son 4 cifras manteniendo ceros, pues hacía un:

Código PHP:
if(strlen($suma)<2)
    
$suma="000".$suma;
else if(
strlen($suma)<3)
    
$suma="00".$suma;
if(
strlen($suma)<4)
    
$suma="0".$suma
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:58.