Hola,
Tengo un formulario en php en el cual inserto datos a una bd en mysql, hay un valor que le llamo precio, y quisiera (para que quede mas curioso) que al poner en el campo Precio 4000 se quedara en 4,000€.
Me dijé en el siguiente código:
Código PHP:
<script>
function oNumero(numero){
//Propiedades
this.valor = numero || 0
this.dec = -1;
//Métodos
this.formato = numFormat;
this.ponValor = ponValor;
//Definición de los métodos
function ponValor(cad)
{
if (cad =='-' || cad=='+') return
if (cad.length ==0) return
if (cad.indexOf('.') >=0)
this.valor = parseFloat(cad);
else
this.valor = parseInt(cad);
}
function numFormat(dec, miles)
{
var num = this.valor, signo=3, expr;
var cad = ""+this.valor;
var ceros = "", pos, pdec, i;
for (i=0; i < dec; i++)
ceros += '0';
pos = cad.indexOf('.')
if (pos < 0)
cad = cad+"."+ceros;
else
{
pdec = cad.length - pos -1;
if (pdec <= dec)
{
for (i=0; i< (dec-pdec); i++)
cad += '0';
}
else
{
num = num*Math.pow(10, dec);
num = Math.round(num);
num = num/Math.pow(10, dec);
cad = new String(num);
}
}
pos = cad.indexOf('.')
if (pos < 0) pos = cad.lentgh
if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+')
signo = 4;
if (miles && pos > signo)
do{
expr = /([+-]?d)(d{3}[.,]d*)/
cad.match(expr)
cad=cad.replace(expr, RegExp.$1+','+RegExp.$2)
}
while (cad.indexOf(',') > signo)
if (dec<0) cad = cad.replace(/./,'')
return cad;
}
}
//Fin del objeto oNumero:
</script>
Código PHP:
<script language="Javascript">
var numero = new oNumero(12345678.12);
document.write("El número: " + numero.valor+'<br>');
document.write("Formateado queda: ");
document.write(numero.formato(2, true));
</script>
La verdad que de java poca idea tengo, pero me sería de mucha utilidad, al ser una bd se van insertando datos esporádicamentey me interesa que al introducir el dato luego al visulizarlo mediante una consulta se vea de ese formato.
Un saludo y perdonad por el tocho :P