none
Solo ayuda RRS feed

  • Pregunta

  • Como puedo dividir digitos en c# osea quiero que el programa me detecte 2 numeros y me diga cual tiene la mayor cantidad de digitos (orientado a objeto)
    miércoles, 14 de marzo de 2018 0:52

Respuestas

  • Buenas,

    Para lo que quieres, una posible opción y rápida de implementar sería convertirlo a string, splitearlo y contar el lenght de la parte decimal

    decimal uno = 16.085m;
    decimal dos = 4.7412m;
    
    if(GetDecimalCount(uno) > GetDecimalCount(dos)) 
    {
        //el primer número tiene más decimales
    } 
    else if(GetDecimalCount(uno) <GetDecimalCount(dos)) 
    {
        //el segundo número tiene más decimales
    } 
    else
    {
        //tienen los mismos decimales
    } 
    
    
    int GetDecimalCount(decimal number) 
    {
        return number.ToString(System.Globalization.CultureInfo.InvariantCulture).Split('.')[1].Length;
    } 

    Nos comentas si tienes dudas. 

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    • Marcado como respuesta DENVER BRITO jueves, 15 de marzo de 2018 13:53
    miércoles, 14 de marzo de 2018 6:23

Todas las respuestas

  • Buenas,

    Para lo que quieres, una posible opción y rápida de implementar sería convertirlo a string, splitearlo y contar el lenght de la parte decimal

    decimal uno = 16.085m;
    decimal dos = 4.7412m;
    
    if(GetDecimalCount(uno) > GetDecimalCount(dos)) 
    {
        //el primer número tiene más decimales
    } 
    else if(GetDecimalCount(uno) <GetDecimalCount(dos)) 
    {
        //el segundo número tiene más decimales
    } 
    else
    {
        //tienen los mismos decimales
    } 
    
    
    int GetDecimalCount(decimal number) 
    {
        return number.ToString(System.Globalization.CultureInfo.InvariantCulture).Split('.')[1].Length;
    } 

    Nos comentas si tienes dudas. 

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    • Marcado como respuesta DENVER BRITO jueves, 15 de marzo de 2018 13:53
    miércoles, 14 de marzo de 2018 6:23
  • hola

    >>quiero que el programa me detecte 2 numeros

    como es eso de que detecte ? o sea no sera un usuario quien ingresa los numeros, o de donde los tomarias?

    >>me diga cual tiene la mayor cantidad de digitos (orientado a objeto)

    no veo que tiene que ver el orientado a objetos ? estas trabajando con numeros simples, no hay nada en eso de POO, ya que deberias trabajar con clases, propiedades, etc

    >>Como puedo dividir digitos en c#

    pero dividir no tiene nada que ver con detectar la cantidad mayor de digitos

    para sber cuantos digitos tiene podrias usar

    int nro = 10;

    int digitos = nro.ToString().Length;


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    miércoles, 14 de marzo de 2018 13:00