Gå til innhold

Gjøre om priser til tall som kan behandles


Anbefalte innlegg

Hei alle!

 

Her er litt kode som jeg har hatt god nytte av, og som kanskje kan komme flere til gode. Problemet mitt var at jeg hadde satt opp en publiseringsløsning hvor brukeren blant annet kan legge inn pris på en vare. Men de la inn mye rart ("29", "29,-", "Kr. 29,40,-" og "29,40" er noen av eksemplene). Så jeg trengte en funksjon som tar alle disse mulighetene (og en hel del andre), stripper bort alt nonsens foran og bak og returnerer et tall (heltall eller desimal, alt etter som).

 

Her er den:

 

<?php

function stringtonumber ($string) {

       // Først fjerner vi alt som ikke er tall, komma eller punktum

       $string = ereg_replace("[^0-9|\.|,]","",$string);

       // Så fjerner vi alle komma og punktum i starten av strengen

       $string = ereg_replace("^[\.|,]+","",$string);

       // Vi vil ikke ha dem på slutten heller

       $string = ereg_replace("[\.|,]+$","",$string);

       // Til sist, bytt ut desimalskillet med det som er korrekt i henhold til LOCALE

       $locale_info = localeconv();
       $decimal_point_character = $locale_info['decimal_point'];
       $string = ereg_replace("[,|\.]",$decimal_point_character,$string);

       return $string;
       }

 

Eksempler:

 

"Kr. 24,50" blir til "24.50"

"24,-" blir til "24"

"NOK 65 inkl. moms" blir til "65"

 

 

 

Håper dette kan være nyttig for noen!

 

Vennlig hilsen

Håkon M.E. Sundaune

vagbladet.no

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...