Ga naar inhoud

Sessions en ASP


anoniem

Aanbevolen berichten

ik heb het volgende stukje code: [code:1:212e473d86]Session("totVerzendkosten") = Session("productKosten") + formatNumber(5.70,2)[/code:1:212e473d86] Session("productKosten") verkrijg ik op de volgende manier: [code:1:212e473d86]productKosten = TRIM( Request( "pkosten" ) ) Session("productKosten") = productKosten[/code:1:212e473d86] Het probleem is dat ik elke keer de waarde 0 krijg voor Session("totVerzendkosten"). Als ik Session("productKosten") weghaal werkt het wel, maar als ik dit weer vervang voor bijv. 10, dan werkt het weer niet. Heeft iemand enig idee wat ik fout doe? grt obi
Link naar reactie
Een waarde uit de Request krijg je altijd als variant aangeboden. De functies Trim en FormatNumber resulteren in een string-variabele. En als je strings bij elkaar optelt, dan plakt ie ze aan elkaar: Trim("20.50") + FormatNumber ("15.70", 2) = "20.5015.70" Ik zou het vreemd vinden als deze 0 teruggeeft: page 1: Session("productKosten") = Request("pkosten") page 2: totaal = Session("productKosten") + 5.70 Session("totVerzendkosten") = FormatNumber(totaal, 2) En als de client geen sessie-cookies accepteert zit je natuurlijk ook met een probleem...
Link naar reactie
ik kom er toch nog niet uit. Ik blijf houden dat ie string achter elkaar plakt. Het gaat om het volgende stukje code: [code:1:758075ea0d]productKosten = TRIM( Request( "pkosten" ) ) If NOT productKosten = "" Then totaleProductkosten = Session("productKosten") + formatNumber(productKosten,2) Session("productKosten") = totaleProductkosten End if[/code:1:758075ea0d] ik kom er niet uit!! :cry: grt obi
Link naar reactie
Die Session-variabele is een variant, dus een string of getal, naar gelang je hem gebruikt. Zolang het een geldige numerieke expressie is kun je er met + een getal bijtellen. Let dus op dat je het decimaalteken goed aanreikt, want als de server een punt verwacht en jij "11,3" in die sessievar stopt, dan is dat meteen al een string. En aangezien Formatnumber dus ook een string als resultaat heeft, wordt het plusteken in je instructie als een string-samenvoeg-operator gezien en niet als de door jou verwachte numerieke. Maak er dus dit van: totaleProductkosten = Session("productKosten") + productKosten en de uitkomst daarvan kun je met FormatNumber bewerken: totaleProductkosten = formatNumber(totaleproductKosten, 2) en dat is dus hetzelfde als: totaleProductkosten = formatNumber(Session("productKosten") + productKosten, 2) en dan hoef je ook niet op null te controleren of te trimmen ofzo :-)
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...