elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ayuda como pasar numeros con decimales a fraccion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda como pasar numeros con decimales a fraccion  (Leído 17,514 veces)
andrer03

Desconectado Desconectado

Mensajes: 72


Ver Perfil
ayuda como pasar numeros con decimales a fraccion
« en: 21 Marzo 2009, 19:06 pm »

hola compis algui sabe como pasar numeros con decimales a fraccion
poe ejemplo

este numero 1,3862727272727272727272727272727
es igual a esta fraccion 731952/528000
quiero expresar el numero en fracion y cuando al dividir la fracion el numero sea el mismo espero q me entiendan gracias  :-*


En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: ayuda como pasar numeros con decimales a fraccion
« Respuesta #1 en: 21 Marzo 2009, 20:29 pm »

mira primero tienes que convertir el numero a una cadena y determinar la cantidad de cifras decimales; para luego multiplicar el numero por dicha cantidad de cifras decimales; entonces obtendrias el mismo numero multiplicado por un 1 * #cifras decimales (llamaremos "N" a este numero; ahora tienes que tener otra variable para almacenar dicha cantidad; es obvio que si divides el numerador (el numero multiplicado por  N; llamamos...) entre el numero N (ya que dara el mismo numero, pues es lo correcto).
Ahora lo que te falta es tener una funcion que simplifique; esto lo consiges obteniendo el maximo comun divisor entre dichos numeros y dividiendolos las veces que sea necesarias hasta que no tengan mas divisores comunes... entonces tendras el numero en fraccion simplificado...

Recuerdo que pense en esta forma para hacer una calculadora que sume fraciones en JAVA (es mas facil si conoces los conceptos de objetos y clases, pues ....)

Saludos; si tienes dudas posteas (no te lo puse re-contra explicado, para que te des el trabajo de poder hacerlo... y no dartelo todo facil...)



En línea

andrer03

Desconectado Desconectado

Mensajes: 72


Ver Perfil
Re: ayuda como pasar numeros con decimales a fraccion
« Respuesta #2 en: 22 Marzo 2009, 00:55 am »

no entiendo nah. :( pero lo estoy pensando ^^ si puedes indicame un poco mas
gracias por tu repuesta
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: ayuda como pasar numeros con decimales a fraccion
« Respuesta #3 en: 22 Marzo 2009, 01:16 am »

Converting Numbers to Fractions
En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: ayuda como pasar numeros con decimales a fraccion
« Respuesta #4 en: 22 Marzo 2009, 06:01 am »

Bueno, te pongo el codigo aqui (lo acabo de hacer); la explicacion del algoritmo usada esta arriba, falta mejorar, ya haslo tu...:

Código
  1. Private Sub Form_Load()
  2. Dim Numero As Double
  3. Dim Fraccion As String
  4.  
  5. Numero = 123.135
  6. Fraccion = cFraccion(Numero) 'Obtiene la fraccion sin simplificar
  7. MsgBox "La fracion de " & Numero & " es " & Simplificar(Fraccion) 'Simplifica la Fracion
  8.  
  9. End
  10.  
  11.  
  12. End Sub
  13.  
  14. Function cFraccion(Rac As Double) 'Rac: Racional
  15.    Dim sRac As String 'la cadena que contiene a Rac
  16.    Dim Num As Long 'Numerador
  17.    Dim Den As Long 'Denominador
  18.    Dim nDec As Integer
  19.    sRac = Str(Rac) 'Convierte en cadena
  20.    nDec = 0 'cifras decinamales a cero por defecto
  21.  
  22.    If InStr(1, sRac, ".") <> 0 Then 'Observa si tiene el punto decimal
  23.    nDec = Len(Mid(sRac, InStr(1, sRac, ".") + 1)) 'Cuenta el Numero de Decimales
  24.    End If
  25.  
  26.  
  27.    Num = Rac * Potencia(10, nDec)
  28.    Den = Potencia(10, nDec)
  29.  
  30.    cFraccion = Num & "/" & Den
  31.  
  32.  
  33. End Function
  34. Function Simplificar(ByVal Fraccion As String)
  35.  
  36. Dim Aux, A, B As Long
  37. Dim Den, Num As Long
  38. Dim MCD As Integer
  39.  
  40. 'Recorta y obtiene el Numerador y Denominador
  41. Num = Val(Mid(Fraccion, 1, InStr(1, Fraccion, "/") - 1))
  42. Den = Val(Mid(Fraccion, InStr(1, Fraccion, "/") + 1))
  43. A = Num
  44. B = Den
  45. If Num = 0 Or Den = 0 Then Simplificar = "0": Exit Function
  46.  
  47. '#############   Busca el Maximo Comun Divisor - Algoritmo de euclides para hacerlo...
  48.    While (B <> 0)
  49.        Aux = A Mod B
  50.        A = B
  51.        B = Aux
  52.    Wend
  53. '############
  54.  
  55. MCD = A 'Asigna el Valor del Maximo C. D
  56. Simplificar = Num / MCD & "/" & Den / MCD  'Divide el Num y Den por el MCD, y lo convierte en cadena
  57.  
  58.  
  59. End Function
  60.  
  61. Function Potencia(ByVal n As Integer, ByVal A As Integer)
  62. 'haya la potencia de un numero: "n" elevado a la "a"
  63. Potencia = n
  64.    For i = 1 To A - 1
  65.        Potencia = Potencia * n
  66.    Next i
  67.  
  68. End Function
  69.  

Lo que hace es por ejemplo: 123.135
saca el Numerador: 123135 y Denominador: 1000
ahora ese resultado lo simplifica y lo muestra...


alguna duda?
En línea

andrer03

Desconectado Desconectado

Mensajes: 72


Ver Perfil
Re: ayuda como pasar numeros con decimales a fraccion
« Respuesta #5 en: 23 Marzo 2009, 01:10 am »

gracias tio por tu respuesta solucionado! :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda]Como pasar este Constructor en Vb a C#
.NET (C#, VB.NET, ASP)
estebanvr 1 2,533 Último mensaje 12 Noviembre 2011, 06:22 am
por estebanvr
Problema con numeros decimales:
Programación C/C++
novato991 4 3,352 Último mensaje 13 Diciembre 2013, 19:30 pm
por novato991
Simplificacionde una fraccion
Java
Sempai15 1 1,595 Último mensaje 27 Julio 2016, 22:14 pm
por + 1 Oculto(s)
Como quitar decimales en java?
Java
Angel wing 1 4,027 Último mensaje 21 Octubre 2017, 00:16 am
por Orubatosu
¿Por qué al nombrar versiones se usan números decimales?
Dudas Generales
Tachikomaia 2 2,422 Último mensaje 2 Septiembre 2021, 05:59 am
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines