Avatar billede kamak Praktikant
23. januar 2009 - 14:24 Der er 9 kommentarer og
1 løsning

4 decimaler

Hejsa,

Jeg har en decimal, f.eks. med værdien 1d og ønsker at konvertere den til 1,0000 eller 1,21d til 1,2100 når jeg udskriver den så den har 4 decimaler også selvom nogle af dem er 0'er til sidst. Har prøvet med .ToString("#.0000"); og .ToString("N2"); men nullerne bliver bare cuttet.
Jeg kan selvfølgelig selv parse stringen og tilføje nullerne men synes det er lidt grimt. Der må da være en nemmere måde?
Avatar billede aaberg Nybegynder
23. januar 2009 - 14:48 #1
ToString("#.0000"); virker fint hos mig. Lavede følgende test:

this.label1.Text = (1.24d).ToString("#.0000");

Den udskriver 1,2400
Avatar billede erikjacobsen Ekspert
23. januar 2009 - 14:49 #2
Øv du kom først. Samme hso mig:

double d = 1.2d;
Response.Write(d.ToString("#.0000"));

Udskriver: 1,2000
Avatar billede kamak Praktikant
23. januar 2009 - 14:52 #3
det var underligt. Jeg udskriver iøvrigt værdien i en celle i et excel-ark. Det er nok derfor - men stadig underligt
Avatar billede erikjacobsen Ekspert
23. januar 2009 - 14:54 #4
Det er nok Excel, der spiser "0"-er.
Avatar billede aaberg Nybegynder
23. januar 2009 - 14:57 #5
Excel er berygtet og frygtet for at formatere data for dig. Excel ved jo meget bedre end du, hvordan tallene skal formateres :-/
Avatar billede kamak Praktikant
23. januar 2009 - 14:58 #6
tror sgu du har ret...
Så jeg må finde ud af at ændre formatet for de celler jeg udskriver i
Avatar billede kamak Praktikant
23. januar 2009 - 15:06 #7
En hurtig søgning på google løste det.

sheet.get_Range("G1", "G100").NumberFormat = "0.0000";

sorry mit spøgsmål ikke var uddybende nop, havde ikke regnet med problemet var noget helt andet end jeg troede.
Avatar billede kamak Praktikant
23. januar 2009 - 15:19 #8
det er bare for meget. Hvis jeg bruger

sheet.get_Range("G1", "G100").NumberFormat = "0.0000";

fjerner den min 1000 tals seperator!! excel er bare skod man
Avatar billede kamak Praktikant
23. januar 2009 - 15:45 #9
Til intereserede giver følgende 4 decimaler og 100 seperator:

sheet.get_Range("G" + index, "G" + index).NumberFormat = "#,##0.0000";
Avatar billede kamak Praktikant
26. januar 2009 - 09:15 #10
lukket
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