从数据库中请求并回显一个浮点数[重复]

Posted

技术标签:

【中文标题】从数据库中请求并回显一个浮点数[重复]【英文标题】:request and echo a float number from database [duplicate] 【发布时间】:2014-08-20 13:19:49 【问题描述】:

这是在 mysql 数据库中显示浮点数的正确方法吗?

if ($a == "balance") 
    $querys= "SELECT balance FROM users WHERE Username='$user'";
    $results=  mysql_query($querys);
    $rows = mysql_fetch_row($results);
    $bfloat = (float)$rows['balance']; 
    echo $bfloat;

在 MySQL 数据库中,列名 balanacefloat,例如当前用户的值是 1.73。所以它的答案是 1.73

【问题讨论】:

不要使用浮点数来处理货币值! floating-point-gui.de 好吧,mysql 扩展名已被弃用,您应该对此采取一些措施。除此之外,您的问题到底是什么? This question 或 this one 可能与此处相关。 @SverriM.Olsen 我尝试检索数据库中类型为float 的存储量,例如浮点数为1.73 【参考方案1】:

坏消息。答案应该是大约 1.73。为此,在类型化语言中使用了单独的十进制类型(java BigDecimal)。请参阅Decimal type in php 在 PHP 中的相同内容。

浮点数近似于我们的十进制表示,它需要二进制系统中的无限位数(以 2 为底)。就像以 10 为底的 2/7,而以 7 为底的 0.2。

另外最好让自己习惯使用准备好的语句http://xkcd.com/327/

【讨论】:

“输入语言”...?!与 PHP 相比,PHP 是无类型的......?! @deceze 好吧,PHP 是弱类型的;一种类型通常可以用作另一种类型。他的意思可能是“强类型语言”。 @Sverri “弱”类型实际上并不是一回事。 What to know before debating type systems 啊,我有编程语言背景,所以我打字的措辞很糟糕。不久前,由于类型,我们的 Pretty Horrible 编程语言甚至获得了更好的性能。 我的观点:在 PHP 中,类型主要是事后才出现的,cast。该语言当然没有给予定点数所需的关注:教程、最佳实践、专业规范。 (好吧,java 的 BigDecimal 也很丑。) @deceze 好吧,你知道我在说什么。这使它成为“一件事”。

以上是关于从数据库中请求并回显一个浮点数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将浮点数转换为字符串[重复]

如何从字符串中提取浮点数[重复]

实现将a页面的数据传入到b页面中并回显在b页面

图片上传并回显Ajax异步篇

正则表达式从逗号分隔列表中删除连续重复(整数和/或浮点数)

如何用input标签上传多个图片并回显