Converting an input text value to a decimal number

Posted by vitto on Stack Overflow See other posts from Stack Overflow or by vitto
Published on 2010-04-29T21:20:56Z Indexed on 2010/04/29 21:37 UTC
Read the original article Hit count: 401

Filed under:
|

Hi, I'm trying to work with decimal data in my PHP and MySql practice and I'm not sure about how can I do for an acceptable level af accuracy.

I've wrote a simple function which recives my input text value and converts it to a decimal number ready to be stored in the database.

<?php

function unit ($value, $decimal_point = 2) {
    return number_format (str_replace (",", ".", strip_tags (trim ($value))), $decimal_point);
}

?>

I've resolved something like AbdlBsF5%?nl with some jQuery code for replace and some regex to keep only numbers, dots and commas.

In some country, people uses the comma , to send decimal numbers, so a number like 72.08 is wrote like 72,08. I'd like avoid to forcing people to change their usual chars and I've decided to use a jQuery to keep this too.

Now every web developer knows the last validation must be handled by the dynamic page for security reasons.

So my answer is should I use something like unit (); function to store data or shoul I also check if users inserts invalid chars like letters or something else? If I try this and send letters, the query works without save the invalid data, I think this isn't bad, but I could easily be wrong because I'm a rookie.

What kind of method should I use if I want a number like 99999.99 for my query?

© Stack Overflow or respective owner

Related posts about php

Related posts about mysql