Avatar billede lotze Nybegynder
11. maj 2008 - 09:41 Der er 14 kommentarer og
1 løsning

Strings.FormatNumber VB til C#

Jeg har ledt efter noget der svarer til følgende i C#

VB kode:
int InputLen
double Inputnumber

Strings.FormatNumber(Inputnumber, InputLen)

mvh
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 09:53 #1
Du siger VB og ikke VB.NET?  .NET har en funktion af samme navn http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.strings.formatnumber(VS.80).aspx
som sikkert kan det samme. Jeg er ikke så meget hjemme i VB at jeg kan sige hvad din linie kode gør.
Avatar billede lotze Nybegynder
11. maj 2008 - 10:00 #2
Okay, jeg mangler en meteode i C# der kan formatere en double med X antal decimaler.

Præcist lige som VB.NET koden gør det (Strings.FormatNumber(Inputnumber, InputLen)).
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 10:06 #3
Du kan gøre præcis det samme i C# - det er det samme .NET-bibliotek de bruger.
Avatar billede lotze Nybegynder
11. maj 2008 - 10:23 #4
Kan du give et eksempel?

Jeg er godt klar over at man kan inkludere VB.NET meteoder i C# kode, men det ønsker jeg ikke. Jeg vil have en ren C# meteode.
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 10:29 #5
Ja, eksemplet på ren C# med .NET biblioteket er netop det du anførte:

  Strings.FormatNumber(Inputnumber, InputLen)

Når vi sætter os ud over forskellen i syntaks på while-løkker og så'n, der det (næsten) ingen forskel på VB.NET og C#.
Avatar billede lotze Nybegynder
11. maj 2008 - 10:48 #6
Dvs jeg skal bruge "using Microsoft.VisualBasic".

Har nu prøvet at tilføje men den vil stadig ikke æde koden. Den siger nu at metoden ikke tager to argumenter.

Er jeg helt galt på den?
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 14:09 #7
Der er som sådan ikke noget galt i at bruge Microsoft.VisualBasic namespace. Det gæld's også for C#. Hvorfor du aå ikke lige får det til at virke, ved jeg ikke. Men ellers er der den anden, nyere, måde. Fx:

    String s = String.Format("{0:#.##}", 3.1415927);
Avatar billede aaberg Nybegynder
11. maj 2008 - 15:34 #8
Strings.FormatNumber(InputNumber, InputLength, TriState.UseDefault, TriState.UseDefault, TriState.UseDefault);
Avatar billede lotze Nybegynder
11. maj 2008 - 19:16 #9
Jeg skal bruge en funktion med et variabelt antal decimaler, så String.Format kan jeg ikke bruge.
Jeg vil helst ikke bruge "using Microsoft.Visualbasic" til at løse opgaven med. Der må da være en C# løsning?
Avatar billede aaberg Nybegynder
11. maj 2008 - 20:49 #10
Se min tidligere post, den virker!
Avatar billede arne_v Ekspert
11. maj 2008 - 20:54 #11
Jeg synes nu at man skal undgå Microsoft.VisualBasic - de fleste ting der er procedurale og
ikke objekt orienterede, og jeg tror heller ikke at de virker med Mono. Måske ikke
tvingende grunde, men man kan da lige så godt gøre tingene ordentligt, hvis det er
muligt.
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 21:37 #12
Der er en mangfoldig af formatterings-metoder i .NET. Måske lidt uoverskueligt... Hvad så med denne, der giver dig 4 decimaler - 4 tallet kan du så få fra en variabel:

double pi = 3.1415927;
String s = pi.ToString("F4");
Avatar billede lotze Nybegynder
11. maj 2008 - 23:36 #13
Til Aaberg. Det virker ikke i .NET 1.1 Framework!
Avatar billede lotze Nybegynder
11. maj 2008 - 23:45 #14
Sorry, manglede bare at tilføje 3-4 visualbasic biblioteker. Det her det bliver noget gjel.
Avatar billede lotze Nybegynder
11. maj 2008 - 23:48 #15
Whatever jeg lukker tråden, skriv nogle 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