php如何操作货币类型的数值。

cnpr 2003-09-20 07:51:52
如题(mysql里字段如何设置):
...全文
338 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnpr 2003-09-26
  • 打赏
  • 举报
回复
go on
cnpr 2003-09-23
  • 打赏
  • 举报
回复
xinyaoxp 2003-09-22
  • 打赏
  • 举报
回复
支持唠叨哥的意见
edward0716 2003-09-22
  • 打赏
  • 举报
回复
Float类型不行?!
xuzuning 2003-09-22
  • 打赏
  • 举报
回复
请使用 DECIMAL 类型

MySQL支持所有的ANSI/ISO SQL92的数字类型。这些类型包括准确数字的数据类型(NUMERIC, DECIMAL, INTEGER,和SMALLINT),也包括近似数字的数据类型(FLOAT, REAL,和DOUBLE PRECISION)。关键词INT是INTEGER的一个同义词,而关键词DEC是DECIMAL一个同义词。

NUMERIC和DECIMAL类型被MySQL实现为同样的类型,这在SQL92标准允许。他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数据。当声明一个类是这些类型之一时,精度和规模的能被(并且通常是)指定;例如:

salary DECIMAL(9,2)
在这个例子中,9(precision)代表将被用于存储值的总的小数位数,而2(scale)代表将被用于存储小数点后的位数。因此,在这种情况下,能被存储在salary列中的值的范围是从-9999999.99到9999999.99。在ANSI/ISO SQL92中,句法DECIMAL(p)等价于DECIMAL(p,0)。同样,句法DECIMAL等价于DECIMAL(p,0),这里实现被允许决定值p。MySQL当前不支持DECIMAL/NUMERIC数据类型的这些变种形式的任一种。这一般说来不是一个严重的问题,因为这些类型的主要益处得自于明显地控制精度和规模的能力。

DECIMAL和NUMERIC值作为字符串存储,而不是作为二进制浮点数,以便保存那些值的小数精度。一个字符用于值的每一位、小数点(如果scale>0)和“-”符号(对于负值)。如果scale是0,DECIMAL和NUMERIC值不包含小数点或小数部分。

DECIMAL和NUMERIC值得最大的范围与DOUBLE一样,但是对于一个给定的DECIMAL或NUMERIC列,实际的范围可由制由给定列的precision或scale限制。当这样的列赋给了小数点后面的位超过指定scale所允许的位的值,该值根据scale四舍五入。当一个DECIMAL或NUMERIC列被赋给了其大小超过指定(或缺省的)precision和scale隐含的范围的值,MySQL存储表示那个范围的相应的端点值。

cnpr 2003-09-22
  • 打赏
  • 举报
回复
to:唠叨

没看明白。这个函数多时用?在php里处理还是在mysql里处理..能给个实例吗?
phpro 2003-09-22
  • 打赏
  • 举报
回复
用float类型更方便
hcfyxy 2003-09-22
  • 打赏
  • 举报
回复
char型最方便,可以用convert转换
blueoxygen 2003-09-21
  • 打赏
  • 举报
回复
int就行了 然后用wordwrap()函数操作格式化
cnpr 2003-09-21
  • 打赏
  • 举报
回复
..............
cnpr 2003-09-21
  • 打赏
  • 举报
回复
具体一点。开始我也是设置的int型。如果是这样的格式(1,200.23)它只保存1.后面的都存不进去!
1fairy1 2003-09-20
  • 打赏
  • 举报
回复
设为INT型,或CHAR型的不就成了?
mysql里没有对货币的类型。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧