| |||
Problemas con la suma Lo que pasa es que estoy haciendo un formulario donde se puedan sumar dos vectores, para ello, se introducen dos fuerzas y dos ángulos, el programa lo descompone en eje X y eje Y, hasta ahí todo bien, pero cuando va a sumarlos el resultado no es el que debería, por ejemplo, me da 2,5 y 2,7 en los ejes pero a la hora de sumarlos me da 4 como total, no tengo ninguna función Round pero si así fuera debería ser a 5 no? |
| ||||
Respuesta: Problemas con la suma Creo que el problema lo tienes porque guardas los primeros valores en textbox y despues los sumas. Al pasarlos a los textbox, los valores 2,5 y 2,7 adquieren las comas decimales, pero en realidad, al sumarlos necesitas que los decimales esten marcados por punto y no por coma. Haz la prueba reemplazando las comas por puntos antes de sumarlos. Suponiendo que los valores los has metido en los textbox Text1 y Text2:
Código vb:
Ver original PD: He hecho unas pruebas y no parece ser tal como yo lo veía. Debe ser algo diferente pero seguramente un detalle así de tonto. Si nos dás algún dato mas quizá entre todos lo encontremos. Lo que parece claro es que los decimales no los está usando. Mira si conviertes en integer los valores en algún momento.
__________________ No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza! Última edición por pkj; 26/03/2011 a las 17:18 |
| |||
Respuesta: Problemas con la suma El codigo es este fx1 = f1 * Cos(a1 * (3.1416 / 180)) fy1 = f1 * Sin(a1 * (3.1416 / 180)) fx2 = f2 * Cos(a2 * (3.1416 / 180)) fy2 = f2 * Sin(a2 * (3.1416 / 180)) rx1 = Val(fx1) + Val(fx2) ry1 = Val(fy1) + Val(fy2) |
| |||
Respuesta: Problemas con la suma Había encontrado una respuesta temporal de multiplicar por 100 y luego volver a dividir por 100 pero ya tengo algo mucho mejor, en vez de hacerlos pasar como Val() los hago pasar como CDbl(), ahora todo me funciona como quiero, toma en cuenta los decimales. el codigo quedo de la siguiente manera: fx1 = (f1 * Cos(a1 * (3.1416 / 180))) fy1 = (f1 * Sin(a1 * (3.1416 / 180))) fx2 = (f2 * Cos(a2 * (3.1416 / 180))) fy2 = (f2 * Sin(a2 * (3.1416 / 180))) rx1 = CDbl(fx1) + CDbl(fx2) ry1 = CDbl(fy1) + CDbl(fy2) |
Etiquetas: |