23. maj 2005 - 22:06Der er
15 kommentarer og 1 løsning
Funtion til udregning af "psykologisk" pris
Hejsa
I forbindelse med programeringen af en shop, skal jeg have udregnet pris ud fra en lignende formel : pris*dollarkurs*DB*landedcost = f.eks. kr. 346,73. Dette er ikke mit problem, men der imod at denne pris gerne skulle være "psykologisk rigtig" f.eks. 349,00 eller hvis prisen f.eks er 333,75 skal prisen være 329,00
Jeg er ikke sikker på jeg forstår dit spørgsmål, hvis prisen der bliver udregnet giver 333,75 hvorfor skal den så vises som 329,00 - det giver da ingen mening ?
Det dur jo heller ikke. ASP ser nemlig ikke kommaet i 377,22 på samme måde som vi danskere. Decimaltal i ASP skal være opgivet med engelsk notation: 377.22.
I dette tilfælde fortolker ASP det simpelthen som om at du har tre argumenter inde i din Round, og det kan den ikke lide - "Wrong number of arguments".
Løsningen er at konvertere danske decimal-kommaer til engelske decimal-punktummer først. Og så den anden vej bagefter:
Det lader til at dit site er sat op til dansk, f.eks. med en linje i stil med:
<% Session.LCID = 1030 %>
- et eller andet sted i din kode (eller i global.asa).
Det er skam fint nok, men det betyder ikke at ASP ikke internt regner med decimalt-punktum, og det er det som giver problemerne. Det grundlæggende regnestykke er dog i orden, og ser sådan her ud:
Y E S !!! Det virker.. Det var bare fedt! 1000 tak. Du snakkede noget om at man burde lave en funktion når prisen var nede omkring de 15-25 kr. Hvad skal der til for at man kunne lave en funktion som runder op til nærmeste kr. når prisen er under 30 kr??? - Husk lige at smide et svar :-)
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.