Foros del Web » Programando para Internet » PHP »

conversion de numeros

Estas en el tema de conversion de numeros en el foro de PHP en Foros del Web. Hola. Estoy realizando un programa que tiene que cargar en una bbdd Mysql una serie de ficheros. El problema es que muchos de ellos tienen ...
  #1 (permalink)  
Antiguo 28/09/2012, 16:50
 
Fecha de Ingreso: septiembre-2012
Mensajes: 1
Antigüedad: 11 años, 6 meses
Puntos: 0
conversion de numeros

Hola.

Estoy realizando un programa que tiene que cargar en una bbdd Mysql una serie de ficheros. El problema es que muchos de ellos tienen importes en formato 1.234.56 , es decir, en lugar de tener .(punto) millar y ,(coma) decimal (o viceversa) , tiene . (punto) tanto para miles como para decimales.
El resultado de cargar 1.234.56 ha de ser 1234,56.

Espero que alguien me pueda ayudar, he buscado mucho y no encuentro solucion.

Gracias, un saludo
  #2 (permalink)  
Antiguo 28/09/2012, 21:59
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: conversion de numeros

pues por que no desarrollas un codigo que te reemplace los puntos y que el
ultimo punto te lo haga en punto y coma.
y vuelves e insertas los datos numericos como te apetezca.

primero sacas los numeros de la base de datos.

haces un ciclo en cada uno de ellos:
Código PHP:
$numero 'el numero que sacaste de la BD: 1.234.234.22';
$numero '1.234.234.22';
echo 
$numero;   // 1.234.234.22 
ahora ciclas elemento por elemento de ese numero desde el ultimo de la derecha
hasta el primero buscando por el primer punto para reemplazarlo con coma:

Código PHP:
for($istrlen($numero); $i 0;$i--){
      if(
$numero[$i] == '.'){
            
$numero[$i] = ',';   ///reemplazas el ultimo punto por coma
            
$numero str_replace('.','',$numero); ///ahora quitas todos los puntos y listo.
            
$i=0///terminas el ciclo de ese numero
      
}
}

echo 
$numero//1234234,22 
y listo ahora ese numero reemplazalo en la base de datos
para que los tengas como quieras.

O si nomas quieres cambiar el ultimo punto por coma

Código PHP:
for($istrlen($numero); $i 0;$i--){
      if(
$numero[$i] == '.'){
            
$numero[$i] = ',';   ///reemplazas el ultimo punto por coma
            
$i=0///terminas el ciclo de ese numero
      
}
}

echo 
$numero//1.234.234,22 
Si te sirvio ponle +1;
__________________
To the end....
  #3 (permalink)  
Antiguo 28/09/2012, 23:11
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: conversion de numeros

blakmetall creo que te complicas mucho la vida. Es mejor hacerlo con funciones.

http://php.net/manual/es/function.number-format.php

trick44 lee el manual y adaptalo a lo que necesitas.
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: conversion, décimales, enteros, formato, numeros
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 07:15.