Avatar billede lanka Nybegynder
21. april 2005 - 20:25 Der er 6 kommentarer og
1 løsning

Modulus af f.eks 2.3

Hej, er der nogen der kan fortælle mig hvordan man tager modulus af f.eks. 2.3. eller hvordan man finder ud af hvor mange decimal der f.eks. er i denne double 2.3333
Avatar billede arne_v Ekspert
21. april 2005 - 20:55 #1
Det er faktisk ikke helt veldefineret hvormange antal decimaler ern double bør
vises med.

Men prøv og kig på følgende kode:

using System;

class MainClass
{
    public static int NoDec(double x)
    {
        double tmp = x;
        int res = 0;
        while(true)
        {
            if(Math.Abs(tmp - Math.Round(tmp)) < 0.00001)
            {
                break;
            }
            res++;
            tmp = 10 * (tmp - (int)tmp);
        }
        return res;
    }
    public static void Main(string[] args)
    {
        Console.WriteLine(NoDec(2));
        Console.WriteLine(NoDec(2.3));
        Console.WriteLine(NoDec(2.33));
        Console.WriteLine(NoDec(2.333));
        Console.WriteLine(NoDec(2.3333));
        Console.WriteLine(NoDec(2.33333));
        Console.WriteLine(NoDec(2.333333));
    }
}
Avatar billede arne_v Ekspert
21. april 2005 - 20:56 #2
Den magiske konstant er 0.00001 som du må afgøre havd skal være
Avatar billede spif2001 Nybegynder
21. april 2005 - 20:57 #3
% tegnet er modulus

eks.
2.3 % 2
Avatar billede lanka Nybegynder
21. april 2005 - 21:01 #4
Hej. Jeg tror jeg har formuleret mig forkert. Det jeg søger er at udtrække decimal-delen af en double. Eksempelvis at 2.0 værdien har decimal-værdien 0, og ligeså at 2.4 har decimal-værdien (fraction-part) 4.

Mvh Lanka
Avatar billede arne_v Ekspert
21. april 2005 - 21:02 #5
double x = 2.33;

og så enten:

double y = x % 1;

eller:

double y = x - (int)x;
Avatar billede lanka Nybegynder
21. april 2005 - 21:06 #6
Arve V, tak for dit svar. Kan du ikke lige svar, så jeg kan give dig nogle points..
Avatar billede arne_v Ekspert
21. april 2005 - 21:08 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester