我正在设计类似于在线阅读书籍的东西。 众所周知,每本书中都有章节。每章都有一个数字:01,02等。 现在,我有一些章节的十进制数如:01.5,02.5等。 我的MySQL数据类型现在是“smallint”,只允许4个字符,属性为“unsigned zerofill”。 所以现在,如果我键入类似:“1” 它将它存储为:0001 如果数字有十进制或除数字以外的任何数字,它将不会存储它。 导致我的问题,无论如何我可以使它支持十进制数。另外,如果小数是0,我不希望它显示小数。
感谢您的帮助。
答案 0 :(得分:4)
你不应该这样存储号码。你应该做的是将它存储为 decimal 并在从数据库中检索时格式化它。
例如,如果这是表的架构,
CREATE TABLE amount (value decimal(5,2));
在PHP中,数字可以格式化为,
$res = mysql_query("select * from amount");
while($row = mysql_fetch_assoc($res)){
printf ("%07.2f", $row['value']);
}
此printf
功能格式会将2.9
打印为0002.90