Mysql - > PHP:数据类型和number_format

时间:2013-11-23 21:45:14

标签: php mysql number-formatting

我有两个问题。

1)在MYSQL数据库中,我有一个存储棒球统计数据的列(“值”)。这些统计信息可以是整数,带有2位小数的浮点数,或带有3位小数的浮点数,或比率(4/10)。这些统计信息来自外部数据源,格式化不会发生变化非常重要。有90个独特的统计数据,我不希望每个列都有...因为可以存储的值的范围不同,我使用的是“VARCHAR(10)”的“类型”。

根据我的要求,这是“Type”的正确方法吗?

2)使用1)中的相同字段,当我用PHP查询MYSQL时,它返回我的stat(“AVG”),其字符串值为“.270”。如果我不格式化值,PHP将其返回为 - > “.27”

我尝试使用“number_format”。以下代码部分适用于我的情况:

if($stat === 'AVG'){
$temp[] = array('v' =>  number_format($val, 3, ',', ','));
} 

返回 - > “0270”。但是,当我用“。”替换dec_point时。或者不包括因为它是带有number_format的可选字段,我仍然得到“.27”而不是“0.270”

这不起作用(返回 - >“。27”):

if($stat === 'AVG'){
$temp[] = array('v' =>  number_format($val, 3, '.', '.'));
}  

也无效(返回 - >“。27”):

if($stat === 'AVG'){
        $temp[] = array('v' =>  number_format($val, 3));
        } 

我猜不管,它仍然不会让我“.270”,因为它会返回“0.270”。如何保留数字格式并返回“.270”?

我在阅读Stackoverflow上的一些有用的帖子后尝试了settype($ val,'float')以及intval,但是都没有用。

0 个答案:

没有答案