Avatar billede trine_h Nybegynder
19. august 2004 - 18:58 Der er 5 kommentarer og
1 løsning

formattering af tal

Jeg har en række tal liggende i databasen i følgende format 1.38
Ideen er at de skal skrives ud efter hvilket sprog cultureinfo er sat til eks. "da-DK" skal udskrives som 1,38 og "en-GB" som 1.38 - det skal samtidig være muligt at lægge to tal sammen eks. 1.38 + 1.38 eller 1,38 + 1,38 afhængigt af hvilken kultur der er valgt - pt. opstår der en fejl hvis jeg forsøger at lægge to kommatal sammen men ikke ved to tal med punktum.
Jeg har altså to spørgsmål:
Hvordan formaterer man tal efter hvilken kultur der er valgt?
Og hvordan er det muligt at lægge tal sammen som er formatteret afhængigt af kultur?
Avatar billede arne_v Ekspert
19. august 2004 - 19:06 #1
Tal konstanter i dit program skal altid være med punktum.

Du bør altid indlæse en streng og konvertere til tal, regne på tal,
konvertere til streng og udskrive.

Både konvertering streng->tal og tal->streng bruger default culture info.
Avatar billede arne_v Ekspert
19. august 2004 - 19:07 #2
Eksempel på default og eksplicit konvertering:

using System;
using System.Globalization;

class MainClass
{
    public static void Main(string[] args)
    {
        double def = double.Parse("295,5");
        double en = double.Parse("295.5", new CultureInfo("en-US", false));
        double da = double.Parse("295,5", new CultureInfo("da-DK", false));
        Console.WriteLine(def + " " + en + " " + da);
        double x = 295.5;
        Console.WriteLine(x);
        Console.WriteLine(x.ToString());
        Console.WriteLine(x.ToString(new CultureInfo("en-US", false)));
        Console.WriteLine(x.ToString(new CultureInfo("da-DK", false)));
    }
}

output:

295,5 295,5 295,5
295,5
295,5
295.5
295,5
Avatar billede trine_h Nybegynder
19. august 2004 - 21:27 #3
Tak for eksemplet - jeg henter tallet fra databasen med punktum - 1.25 - ind i et repeater komponent - hvordan får jeg konverteret det til kommatal i nedenstående:

<%# ((System.Data.Common.DbDataRecord)Container.DataItem)["even"]%>
Avatar billede arne_v Ekspert
19. august 2004 - 21:47 #4
Uf.

Jeg er desværre ikke skrap til den slags (ASP.NET UI).
Avatar billede trine_h Nybegynder
19. august 2004 - 22:30 #5
ok læg et svar - du svarede jo på hvad jeg spurgte om...
Avatar billede arne_v Ekspert
19. august 2004 - 22:31 #6
ok
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