MrNupsen Skrevet 26. september 2007 Del Skrevet 26. september 2007 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
Crowly Skrevet 26. september 2007 Del Skrevet 26. september 2007 Denne burde vel vært postet her: PHP kode som andre kanskje kan bruke Lenke til kommentar
Runar Skrevet 28. september 2007 Del Skrevet 28. september 2007 Nå er ikke jeg 100% sikker, men finnes det ikke en funksjon for dette? Det høres ut som en typisk standard funksjon. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå