09. februar 2007 - 20:57Der er
7 kommentarer og 1 løsning
Hjælp! Beløb forstørres i betalingsmodul.
Hej,
Jeg bruger FriBetaling.dk's modul som kræver at det samlede beløb videresendes til dem ned til sidste møntenhed, uden komma eller anden seperator. Dvs. kr. 5.984,21 skal skrives: 598421. Dette konverterer fra kommatal til heltaljeg via denne regex-metode:
Dim FbBelob As Decimal = order.Total Dim re As Regex = New Regex("[^\d]") FbBelob = re.Replace(FbBelob, "")
Det har virket fint indtil videre, lige indtil nu hvor en kunde har indtastet en ordre på 2739,88 kr. og denne kunde står nu til at skulle blive trukket for 27398,75 i FriBetalings modul..! Jeg tror det er bedst jeg bare lader være med at udføre capture denne, men hvordan kan det lige lade sig gøre, er der noget galt i den måde det gøres på?
Det virker som en risikobetonet måde at gøre det på... Det forudsætter at du aldrig har mere en 2 decimaler på din order.Total... Alle tal med mere end to decimaler vil give dig tilsvarende fejl. Mvh
Jeg er egentlig overrasket over at det du har der virker... Det må være en vb-ting... Jeg vil anbefale dig at lave dine beløb om til tekster, hvor du selv styrer formatet - inden du benytter dit regex. Mvh
Hej, sorry jeg ikke har meldt tilbage før. Jeg kører en regex på den via client script som sørger for at eventuelle ekstra decimaler bliver rundet ned til to.
Det virker når jeg gemmer order.Total i en textbox som er skjult - og så henter det ud når jeg skal bruge det.. nok ikke det mest optimale - Er det det samme som at lave tallet om til tekst som du siger snepnet, eller kan det gøres smartere end at sige f.eks. txtTextbox1.text = order.Total?
det der går galt for dig er Culture settings. Du har åbenbart engelsk setting et eller andet sted. Det der sker er at 1234,45 bliver til 12345 da på engelsk er decimal separatoren "." Hvis du havde danske culture settings, og ikke gemmer beløb i db'en ved string conversions men direkte f.eks. med parametre, så burde den opføre sig ordentligt:)
Synes godt om
Ny brugerNybegynder
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.