php – 处理mysqli中的十进制数

前端之家收集整理的这篇文章主要介绍了php – 处理mysqli中的十进制数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我必须把一些项目的价格放在一个 mysql表中.创建表时,我使用DECIMAL(10,2),因为逗号后不需要超过2位数字(例如:123,45将被接受为输入,但123,456将舍入为123,45,其中 PHP).

第一个问题:使用DECIMAL(10,我如何知道逗号之前可能存储多少个数字?我知道它不是10,因为10是MysqL在使用这些数字进行数学运算时所使用的精度:所以指定数字的长度在哪里?

第二个问题:我使用PHP来舍入用户输入以适应数据类型(逗号后面带有2个数字的float).我应该如何使用MysqLi-> bind_param来插入这些数据?我应该使用(或可能:为什么)使用bind_param接受的这些数据类型(来自documentation)?

Character   Description
i   corresponding variable has type integer
d   corresponding variable has type double
s   corresponding variable has type string
b   corresponding variable is a blob and will be sent in packets
DECIMAL(10,2)表示10是要使用的最大位数. 2指定小数点右侧有两个.所以这意味着左侧有8位数字.见 the manual

对于数据类型,您应该使用double,因为这是十进制数.

整数没有十进制字符,所以它将会显示所有数字.字符串用于文本,而不是数字值. Blob是一个二进制大对象,EG:一个图像

猜你在找的PHP相关文章