我正在尝试从MySQL数据库中打印一个值;值的类型为decimal(1,2)。当我用PHP 5.2打印它时,它将它显示为int。
这是表格:
脚本|版本
1 | 1.5
2 | 2.0
这是我的功能:
function getVersion($script)
{
global $mysqli;
$stmt = $mysqli->prepare("SELECT Version FROM Scripts WHERE Script = ?");
$stmt->bind_param("i", $script);
$stmt->execute();
$stmt->bind_result($version);
while ($stmt->fetch())
{
printf("\"%d\"", $version);
}
$stmt->free_result();
$stmt->close();
}
我认为它会打印为小数,因为我选择的格式是小数;我没看到什么?我尝试使用number_format,但这没有帮助。
答案 0 :(得分:3)
%d
格式的'd'代表“十进制”,如“基数10”,而不是“带小数部分的数字”。如果您希望显示分数,请改用%f
。
答案 1 :(得分:0)
printf("\"%1\$.2f\"", $version);
这样就强制执行十进制(1,2),因为只有%f
会在浮点数中显示最大小数,这在我的平台上是6。