FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Vill mata in data i ett double-fält i databasen och vill då först kolla så att det är ett giltigt tal med decimaler (komma).
Tex skall 12,50 vara ett giltigt tal. Använder checken is_numeric för att kolla detta, men denna funktion använder sig av . som separator och funkar således ej. Har även testat att i början av scriptet sätta: setLocale(LC_NUMERIC,'sv'); Men inte heller det ger önskar resultat. Någon lösning? Tack! Andreas |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
Byt ut alla ',' i strängen mot '.' innan du testar.
Fungerar ',' att använda vid lagring i databasen? Annars måste du ju i alla fall byta skiljetecken. |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Mycket flitig postare
|
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Har WN som tidsfördriv
|
$tal = (double) str_replace(',', '.', $tal);
|
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Supermoderator
|
Vill du absolut använda det svenska skrivsättet även vid lagring så får du köra det som text men det är sällan en bra idé. Annars är det alltid punkt som gäller för decimalavgränsning.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Har WN som tidsfördriv
|
||||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Mycket flitig postare
|
Citat:
PHP och MySQL hanterar dock bara punkt som decimalavgränsare. Alltså får man hela tiden konvertera från komma till punkt när man läser input från användaren, och från punkt till komma när man presenterar (skriver ut) till användaren. PHP-kod:
|
||
![]() |
![]() |
Svara |
|
|