Avatar billede simm Nybegynder
17. marts 2008 - 22:15 Der er 13 kommentarer og
2 løsninger

NumberFormat - mærkeligt output

Jeg er ved at bygge om på en webshop. Men jeg har noget bøvl med dansk beløbsvisning. Jeg tror såmænd ikke der er så meget hokuspokus i koden, men hvis jeg f.eks skriver 250,50 bliver beløbet kr 25.050,00. Det leder mig til at tro, at den ikke fatter at konvertere korrekt (ASP.NET 2.0)

Det eneste jeg lige kan finde omkring selve konverteringen er disse to metoder, som returnerer værdien i danske enheder. Jeg har prøvet at sætte <Globalization uiculture="da-dk" culture="da-dk">

public static System.Globalization.NumberFormatInfo InputNumberFormatInfo
        {
            get
            {
                return new System.Globalization.CultureInfo(1030).NumberFormat;
            }
        }

        public static System.Globalization.NumberFormatInfo NumberFormatInfo
        {
            get
            {
                return new System.Globalization.CultureInfo(1030).NumberFormat;
            }
        }
Avatar billede kalp Novice
17. marts 2008 - 22:30 #1
Hvis det der har noget med Culture at gøre, så kan du sætte culture hvis du trykker på Dynamit ikonet lige over din solution explorer i visual studio.
Avatar billede simm Nybegynder
18. marts 2008 - 11:59 #2
Tror det er mere indviklet end som så, den tidligere programmør må have lavet en konflikt et eller andet sted. Jeg kan se at beløb bliver specificeret på den engelske måde (250.50) i databasen, derfor burde det være en smal sag at konvertere beløbet ved at sætte en korrekt culture?
Avatar billede kalp Novice
18. marts 2008 - 20:25 #3
har du prøvet

decimal number = 500;
        System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("da");
        number.ToString(culture);

eller i CultureInfo "da-dk"
Avatar billede simm Nybegynder
19. marts 2008 - 12:39 #4
Det virker fint :)

Jeg har sporet problemet til databasen (MSSQL) - problemet er tilsyneladende at den gemmer prisen som 250.00 retter jeg værdien til 250,00 i databasen så vises den rigtigt i webshoppen. Men - den står allerede på Danish_Norwegian Collate, men er der flere steder der skal rettes?
Avatar billede nielle Nybegynder
19. marts 2008 - 17:57 #5
Feltet i databasen burde ændres fra at være et tekst felt til at være et tal felt. Så ville den slags slet ikke ske.
Avatar billede simm Nybegynder
24. marts 2008 - 11:44 #6
jeg kan se feltet er et varchar felt, det må jo så enten skulle være et float eller decimal. Men når jeg konverterer feltet, så melder MSSQL "error converting varchar to float"
Avatar billede kalp Novice
24. marts 2008 - 13:55 #7
jeg ville gøre sådan her.

1. oprette en ny kolonne af datatypen float eller hvad det skal være.
2. lave en update statement der opdatere hver rækkes float med det der står i din varchar kolonne.. der er funktioner i mssql til at convertere indholdet til den rigtige datatype.
3. slette den gamle nvarchar kolonne.
4. omdøbe den nye kolonne's navn til det den gamle hed.

så burde det hele fungerer som det plejede:)
Avatar billede simm Nybegynder
24. marts 2008 - 20:50 #8
genialt kalp, og dog noget bøvlet .. troede selv MSSQL kunne sørge for den slags, men der kan man bare se :)
Avatar billede kalp Novice
24. marts 2008 - 21:57 #9
det kan også godt være den kan, men så meget tolmodighed har jeg ikke haft de gange jeg skulle gøre noget lignende - til at finde ud af det:D
Avatar billede simm Nybegynder
27. marts 2008 - 15:34 #10
kalp og nielle - I må gerne dele point. Konverterede feltet til et float-felt, som nielle skrev, og brugte kalps "opskrift", så det er vist mest fair. Teamwork - sådan!

Mange tak! :)
Avatar billede nielle Nybegynder
29. marts 2008 - 08:42 #11
Det er vist mest kalp som fortjener point på denne her. :^)
Avatar billede kalp Novice
29. marts 2008 - 08:58 #12
det fint med deling.. det er der ingen der dør af:)
Avatar billede nielle Nybegynder
30. marts 2008 - 09:46 #13
Svar ... men giv bare det fleste til kalp. :^)
Avatar billede nielle Nybegynder
14. april 2008 - 07:40 #14
Så mangler du bare at fordele point og acceptere svarene :^)
Avatar billede simm Nybegynder
15. april 2008 - 13:15 #15
Sådan der ... :)
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