将浮点值从SQL传递给WebSpace会产生意外值

时间:2013-08-22 11:34:33

标签: php sql floating-point

以下是我的数据示例:

Id,Name,Price
121,Jelly beans,6.79
122,Banana milkshake powder,8.31
123,Edam Cheese,18.73
124,Hairnet,8.05

当我使用SQL查询提取它并使用以下代码将其传递到我的网站空间时:

while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC))
{
   echo "<p>"."Name: ".$row['Name']." Price: ".$row['Price']." Total Sales: ".$row['Total Sales']."</p>"; 
}

它显示如下:

Name: Jelly beans Price: 6.789999961853 Total Sales: 8427
Name: Banana milkshake powder Price: 8.3100004196167 Total Sales: 18054
Name: Edam Cheese Price: 18.729999542236 Total Sales: 12771
Name: Hairnet Price: 8.0500001907349 Total Sales: 4594

现在通常我会说他们的格式化我的代码只能将价格显示为2位小数?因为这通常就足够了。但是它为某些值提供了无效的价格。

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:2)

使用number_format功能

number_format($row['price'], 2, ',', '.');