Avatar billede ladyhawke Novice
10. maj 2006 - 13:44 Der er 10 kommentarer og
2 løsninger

Globalization ignorerer min culture

Jeg har sat uiculture og culture i page direktivet (@Page) og desuden i web.config.

Når jeg i sidens Page_Load tjekker navnet på culture så er den Danish/Denmark, sådan som jeg gerne vil have, MEN!!

Jeg har en repeater som er databoud til nogle priser og jeg vil gerne have de priser konverteret til ###.###.###,## format (altså 2 decimaler og tusindtals seperator). Problemet er så at jeg har forsøgt mig med {0:n} i mit DataBind.Eval-kald, men den viser konsekvent tallene med engelsk notation (###,###,###.##)

HVordan får jeg den til at "makke ret"? Currency er ikke en ide her, da jeg ikke ønsker at valutasymbolet står foran prisen...
Avatar billede snepnet Nybegynder
10. maj 2006 - 13:59 #1
Der skulle ikke være så meget ballade med det:

// i din template
<asp:Label ID="lblAmount" runat="server" Text='<%# Eval("Amount", "{0:n}") %>'></asp:Label>

// i dit pagedirective
Culture="da-DK"

Det skulle være tilstrækkeligt.

Af hvilken type er den property du databinder imod?

Mvh
Avatar billede ladyhawke Novice
10. maj 2006 - 14:11 #2
<%@ Page ... UICulture="da" Culture="da-DK" %>
<td><%# DataBinder.Eval(Container.DataItem, "pris", "{0:n}")%>    kr.</td>

typen er en float... (ovenstående står på den aktuelle side)
Avatar billede snepnet Nybegynder
10. maj 2006 - 14:33 #3
Det virker underligt ... Det er ikke noget jeg kan genskabe her - det fungerer upåklagelidt.
Kan du ikke lave et lille testprojekt - og så nøjes med at sætte Culture="da-DK" i dit pagedirective.
Bruger du 2.0 og databinder du mod typer du selv har lavet, eller er det et dataset ell. du benytter.
Mvh
Avatar billede ladyhawke Novice
10. maj 2006 - 14:45 #4
bruger .NET 1.1, med et DataSet, hvor typen for feltet er en float
Avatar billede snepnet Nybegynder
10. maj 2006 - 15:08 #5
Hmm... har jeg ikke lige umiddelbart mulighef for at prøve efter.
Har du prøvet bare at lave en float property på din formklasse - og databinde en label til den?
Mvh
Avatar billede ladyhawke Novice
10. maj 2006 - 15:18 #6
nej, det er en del af et relativt omfattende projekt, men jeg forsøger løbende at finde en måde at vise prisen korrekt på
Avatar billede snepnet Nybegynder
10. maj 2006 - 15:25 #7
Ok ... jeg har ikke rigtig noget bud til dig, andet end at jeg synes du skal lave et lille testprojekt og se om du kan få det til at virke der.
Er det det eneste du har i din løsning der præsenteres iht. en culture?
Mvh
Avatar billede ladyhawke Novice
10. maj 2006 - 15:30 #8
i den løsning har jeg ikke sat culture etc. andre steder
Avatar billede ladyhawke Novice
10. maj 2006 - 16:47 #9
Nu fik jeg endelig lokket den til at virke:

String.Format(dkFormat, "{0:n}" ,DataBinder.Eval(Container.DataItem, "pris"))

hvor dkFormat er et NumberFormatInfo objekt med Dansk culture...

læg et svar for indsatsen, så deler vi i porten
Avatar billede snepnet Nybegynder
10. maj 2006 - 16:52 #10
Ak ja ... sikke krumspring man skal udføre nogle gange :o(
Mvh
Avatar billede ladyhawke Novice
11. maj 2006 - 10:33 #11
Helt enig, men nu lykkedes det da, så er der en mulighed for dem hvor den "logiske" måde ikke lige vil virke :o)
Avatar billede snepnet Nybegynder
11. maj 2006 - 11:07 #12
:o)
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