Foros del Web » Programando para Internet » ASP Clásico »

Problemas con decimales

Estas en el tema de Problemas con decimales en el foro de ASP Clásico en Foros del Web. Muy buenas a todos, se que parecera una gilipollez pero es venir de puente de semana santa y no conseguir nada :D. He estado mirando ...
  #1 (permalink)  
Antiguo 09/04/2007, 08:05
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 6 meses
Puntos: 1
Problemas con decimales

Muy buenas a todos,

se que parecera una gilipollez pero es venir de puente de semana santa y no conseguir nada :D. He estado mirando en diferentes post pero no explican exactamente lo que quiero yo. Ahi va:

Tengo una tabla que contiene varios type text de un form donde enseño el importe con formato 6.500,00 . El problema es que para modificarlos utilizas esos mismos campos, teniendo un maximo y un minimo.

Ejemplo:

Maximo Minimo
6.500,00 10,00

Cuando intento cambiar el minimo por ejemplo por 10.50 o 10,50 tengo el problema siguiente:

Si no le pongo la funcion Cdbl y utilizo la funcion replace para quitar la coma por el punto decimal
Hago la consulta sql con los datos: Minimo: 10.50 Maximo: 6.500.00 (Error)

Si pongo la funcion Cdbl
Minimo: 1050(Error) Maximo: 6500

¿Alguien sabe como usar exactamente ASP para poder cambiar la coma por el punto decimal y que el punto de miles del FormatNumber desaparezca?

Espero haberme expresado bien, sino es asi os lo pongo paso por paso.
  #2 (permalink)  
Antiguo 09/04/2007, 08:53
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 3 meses
Puntos: 7
Re: Problemas con decimales

Hay muchas funciones JavaScript que permiten tanto visualizar como capturar numeros con decimales y que puntuen los millares pero creo que ese no es tu problema.



Una forma de ver los numeros con decimales es usar Session.Lcid

Prueba esto

session.LCID = 1034

num = 23456.45

response.write num

Verás que cambia el punto del decimal por una coma. Esto esta muy bien para leer desde una Base de Datos pero... ¿Que pasa si lo que quiero es insertarlo?

Digamos que un usuario introduce 24.600,34 y tu quieres insertar dicha cantidad en tu BD. Lo que hago yo es quitar todos los puntos y comas de la cifra con un replace (replace(cad, ".", "") y replace(cad,",","")) y luego tomo las dos ultimas cifras como decimales (mid(cad,len(cad)-2,2)) Asi tendria dos valores:

- El entero: 24600
- el decimal: 34

Luego no tengo mas que concatenar las cadenas

cad = "24600" & "." & "34"

En cuanto a los millares, te recomiendo que avises a los usuarios de que no lo use. Como en la mayoria de los casos no te van a hacer caso, siempre puedes chequear los datos como replace.


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 09/04/2007, 09:11
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Problemas con decimales

Lo primero de todo, gracias por contestar.

Pero el problema sigue siendo el mismo. Los usuarios no introducen los millares, sino que yo les muestro en los input el valor por defecto FormatNumber(valor,2). El problema es que cuando tu das a modificar, mandas dos input de estos, uno de maximo y otro de minimo. Y tenemos los siguientes problemas:

1. El que no ha modificado enseña los millares con . y los decimales con ,
2. El valor introducido por el usuario en el otro input puede tener o no decimales (ya habia probado lo de los replace despues de escribir el mail :() y puede que ponga el punto decimal como , o como . y no se como hacer para que funciones sin pedirle al usuario que no utilice la coma.

Espero que esta vez si haya explicado mejor el problema.

PD: El problema creo que es del FormatNumber, que coge las especificaciones por defecto del servidor (donde supongo que , será para decimales y . para millares). No puedo modificar dicha configuración


Cita:
Iniciado por tammander Ver Mensaje
Hay muchas funciones JavaScript que permiten tanto visualizar como capturar numeros con decimales y que puntuen los millares pero creo que ese no es tu problema.



Una forma de ver los numeros con decimales es usar Session.Lcid

Prueba esto

session.LCID = 1034

num = 23456.45

response.write num

Verás que cambia el punto del decimal por una coma. Esto esta muy bien para leer desde una Base de Datos pero... ¿Que pasa si lo que quiero es insertarlo?

Digamos que un usuario introduce 24.600,34 y tu quieres insertar dicha cantidad en tu BD. Lo que hago yo es quitar todos los puntos y comas de la cifra con un replace (replace(cad, ".", "") y replace(cad,",","")) y luego tomo las dos ultimas cifras como decimales (mid(cad,len(cad)-2,2)) Asi tendria dos valores:

- El entero: 24600
- el decimal: 34

Luego no tengo mas que concatenar las cadenas

cad = "24600" & "." & "34"

En cuanto a los millares, te recomiendo que avises a los usuarios de que no lo use. Como en la mayoria de los casos no te van a hacer caso, siempre puedes chequear los datos como replace.


Un saludo
  #4 (permalink)  
Antiguo 09/04/2007, 09:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Problemas con decimales

Tammander, ya he hecho algo parecido a lo que me has dicho acerca de no dejar a los usuarios poner el punto de millares. He puesto el FormatNumber para que no enseñe ese punto y a tomar por......

Muchas gracias.
  #5 (permalink)  
Antiguo 10/04/2007, 01:58
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 3 meses
Puntos: 7
Re: Problemas con decimales

Cita:
Iniciado por Lebennin Ver Mensaje
He puesto el FormatNumber para que no enseñe ese punto y a tomar por......

Muchas gracias.
Recuerda que el usuario, en la mayoria de los casos, es un inutil.

__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #6 (permalink)  
Antiguo 10/04/2007, 15:47
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: Problemas con decimales

Cita:
Iniciado por tammander Ver Mensaje
Recuerda que el usuario, en la mayoria de los casos, es un inutil.

Apoyo la mocion, por mas que les expliques, lo siguen haciendo
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:07.