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

Sumar decimales

Estas en el tema de Sumar decimales en el foro de ASP Clásico en Foros del Web. Hola, tengo un valor en una caja de texto 12.03 pero puedo tener 12.003 y quiero que me salga 12.04 o 12.004 es decir, que ...
  #1 (permalink)  
Antiguo 05/08/2004, 09:08
 
Fecha de Ingreso: mayo-2002
Mensajes: 91
Antigüedad: 23 años
Puntos: 0
Información Sumar decimales

Hola, tengo un valor en una caja de texto 12.03 pero puedo tener 12.003 y quiero que me salga 12.04 o 12.004 es decir, que tomo el valor de la primera caja de texto y le sumo 1 dependiendo la cantidad de decimales.


Como puedo hacerlo?
Gracias
  #2 (permalink)  
Antiguo 05/08/2004, 09:46
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Me imagino que tomar el caracter mas a la derecha, convertirlo a numero sumarle uno y regresarlo a la cifra, no te serviría.
¿Es problema de redondeo o cual es el algoritmo para sumar?

Última edición por Myakire; 05/08/2004 a las 10:45
  #3 (permalink)  
Antiguo 05/08/2004, 09:57
 
Fecha de Ingreso: mayo-2002
Mensajes: 91
Antigüedad: 23 años
Puntos: 0
tengo lo siguiente:
valorflotante = "12.03" ' este es el valor que viene de la caja de texto
nuevovalor = Replace(valorflotante, ".", ",")
valorsumado = (nuevovalor+.01)
response.write("sumado"&valorsumado)
me devuelve el valor sumado correctamente. pero en el caso que el 12.03 sea 12.0003 me suma mal pues me evuelve 12.0103
como tomo la cantidad de decimales que hay despues de la coma?
con mid y len?
estoy intentando sacar los valores que hay despues de la coma o el punto pero no me funciona
  #4 (permalink)  
Antiguo 05/08/2004, 11:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
A ver, prueba este ejemplo:
Código:
<%
Session.LCID = 2058   'Mexico (comas y punto)
sValor = "12.0003"
fValor = CDBL(sValor)
iValor = FIX (fValor)
decimales = fValor - iValor
response.write "Enteros: " & iValor & "<br>" 
response.write "Decimales: " & FORMATNUMBER (decimales,2) & "<br>" 

sDecimal = MID(sValor,InStr(sValor,".")+1, LEN(sValor))
response.write "Decimales (cadena): " & sDecimal & "<br>" 
sSumando = "0."&STRING (Len(sDecimal)-1, "0") & "1" 
response.write "Sumando: " & sSumando & "<br>" 
Suma = fValor + CDBL(sSumando)
response.write fValor & " + " & sSumando & " = "& Suma &"<br>" 
%>
Primero te pongo un ejemplo de como separar la parte entera de la decimal con conversiones solamente.
Otra forma es como tu lo pides:
1) sDecimal = MID(sValor,InStr(sValor,".")+1, LEN(sValor)) 'Corta la parte fraccionaria en base la posicion del punto.
2) sSumando = "0."&STRING (Len(sDecimal)-1, "0") & "1" 'Se crea una cadena con tantos ceros como decimales existan menos uno y se concatena el 1.
3) Suma = fValor + CDBL(sSumando) ' Se realiza la suma

Saludos

Última edición por Myakire; 05/08/2004 a las 11:09
  #5 (permalink)  
Antiguo 05/08/2004, 14:22
 
Fecha de Ingreso: mayo-2002
Mensajes: 91
Antigüedad: 23 años
Puntos: 0
Gracias Myakire, funciona como lo colocas pero aun sigo con el problema que cuando suma los numeros decimales, se pierde la coma del decimal, y necesito que no se pierda el valor decimal.
  #6 (permalink)  
Antiguo 06/08/2004, 08:59
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
a caray, en primera: ¿cual coma? si al definir Session.LCID = 2058, haces que el separador de decimales sea el punto. Y en la variable "Suma" tienes el valor real, es decir, enteros con sus decimales.
Tal vez es que no he entendido tu problema, ¿puedes poner el código de lo que haces y explicar que es lo que debería hacer dicho código?
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 12:59.