Avatar billede badal Nybegynder
14. juni 2007 - 13:39 Der er 9 kommentarer og
2 løsninger

Problemer med at gemme beløb

hej jeg har store problemer med at gemme beløb. Der problemer med . og , i beløbet. Hvordan klare man det hvis man skal have beløb som 12,95 , 13,00 osv.

I c sharp koden bruger jeg float til beløb og i databasen(MSSQL 2005) bruger jeg feltet money.

At bruge float den rigtige løsning eller skal jeg bruge double.
Avatar billede hmortensen Nybegynder
14. juni 2007 - 13:46 #1
Du bør bruge decimal.

Hvornår er beløbet et problem, når det skal vises, eller ved indtastning?
Avatar billede w13 Novice
14. juni 2007 - 13:46 #2
Se evt.: http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=181
Og søg her efter "currency", dvs. valuta.
Avatar billede erikjacobsen Ekspert
14. juni 2007 - 13:47 #3
Du skal sætte beløb ind på formen:  7913.00  - altså med punktum.
Klares automatisk ved brug af parameters.
Ellers kan du lave en replace
Eller du kan lave en tostring med en passende culture (ikke-dansk)
Avatar billede badal Nybegynder
14. juni 2007 - 14:00 #4
Problemet er når det skal vises og gemmes i database. Jeg plejer at replace komma med et punktum men så gemmes beløbet meget større i db.

Måske skal jeg bruge en decimal og lave replace hvis brugen har indtastet komma. Og så sende det via parametere i db?
Avatar billede erikjacobsen Ekspert
14. juni 2007 - 14:06 #5
Du kan ikke erstatte noget i en float, kun i en tekstrepræsentation af tallet. Derfor skal du ikke foretage dig noget, hvis du vil gemme en float via parameters.
Avatar billede ieconfig Nybegynder
14. juni 2007 - 22:54 #6
Brug evt. Convert.ToDecimal (String, IFormatProvider). CultureInfo implementer interfacet IFormatProvider. Prøv evt. CultureInfo.InvariantCulture som 2. parameter
Avatar billede kalp Novice
14. juni 2007 - 23:38 #7
Jeg er rimelig sikker på, at du bare kan beholde dine float værdier hvis bare du benytter command objectets parameters til at tilføje dem!

command.Parameters.AddWithValue("@XXX",dinfloat);

og så skal @xxx placeres det korrekte sted i din sql.
Avatar billede badal Nybegynder
19. juni 2007 - 13:22 #8
jeg bruger nu decimal og parameterets og det fungere. hmortensen, kalp, erikjacobsen kan I komme med et svar..
Avatar billede erikjacobsen Ekspert
19. juni 2007 - 13:48 #9
Ingen point til mig, tak.
Avatar billede kalp Novice
19. juni 2007 - 18:48 #10
:)
Avatar billede hmortensen Nybegynder
19. juni 2007 - 18:55 #11
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