【问题标题】:Converting an input text value to a decimal number将输入文本值转换为十进制数
【发布时间】:2010-04-29 21:20:56
【问题描述】:

我正在尝试在 PHPMySql 练习中使用十进制数据,但我不确定如何才能获得可接受的准确度。

我编写了一个简单的function,它接收我的input text value 并将其转换为准备存储在数据库中的decimal number

<?php

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

?>

我已经解决了类似AbdlBsF5%?nl 之类的问题,其中包含一些用于替换的 jQuery 代码和一些仅保留数字、点和逗号的正则表达式。

在某些国家/地区,人们使用逗号, 发送十进制数,因此像72.08 这样的数字写成72,08。我想避免强迫人们改变他们常用的字符,我决定也使用 jQuery 来保留它。

现在每个 Web 开发人员都知道,出于安全原因,最后一次验证必须由动态页面处理。

所以我的答案是我应该使用类似unit (); 的函数来存储数据,还是应该检查用户是否插入了无效字符,如字母或其他内容?如果我尝试这个并发送信件,查询不会保存无效数据,我认为这还不错,但我很容易出错,因为我是一个菜鸟。

如果我想要像99999.99 这样的数字,我应该使用哪种方法进行查询?

【问题讨论】:

    标签: php jquery mysql


    【解决方案1】:

    不要忘记考虑将 DATABASE 值格式化为 FLOAT(10,2) 之类的东西

    恕我直言,这也很重要!

    那么,当然最好使用服务器端语言进行真正的验证!

    您可以阅读以下内容:

    http://php.net/manual/en/function.number-format.php

    javascript 可以花哨且方便,但并不安全!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    相关资源
    最近更新 更多