我有两个问题。
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,但是都没有用。