php中金钱数据类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中金钱数据类型相关的知识,希望对你有一定的参考价值。
在mysql中金钱数据类型是什么?怎么用php操作金钱数据?请高手详细写下,推荐网址也行
mysql中没有money数据类型,要是有我就不问了
用INT或FLOAT就行了撒,如果嫌FLOAT不好操作,干脆就用VARCHAR得了,只是这样有些弊端就是了,如果这个字段就是一普通字段那就可以用。本回答被提问者采纳 参考技术B 在mysql中好想有个money的数据类型吧。 参考技术C money
mysql 如果处理货币金钱类型
我们知道,数据库存金钱类型可以float、double、decimal ,相比较而已decimal 最好用。
好吧, 我们公司用的分为单位, 类型 用bigint 存取,操作的时候到是很方便, 展示的时候就得 转。
结果就出现了bug
先看问题,
数据库读取金钱, 保留两位小数。
<select id="findSumMoney" resultType="java.lang.Double"> SELECT FORMAT(IFNULL(sum(money), 0) / 100, 2) FROM r_order WHERE uid = #{uid} AND state = 1 AND pay_type IN (1, 2,12) GROUP BY uid </select>
结果当金钱大于1000 ,用 format 转换, 自动变成 1,000.00
然后程序打出异常。不能转成此类型,原来这种转化 方法是大于1000, 自动加 逗号变成 string类型, double接收不了, 由于不想改代码,
最后这么解决的;用convert 函数:
<select id="findSumMoney" resultType="java.lang.Double"> SELECT convert(IFNULL(sum(money)/100, 0),DECIMAL(9,2)) FROM r_order WHERE uid = #{uid} AND state = 1 AND pay_type IN (1, 2,12) GROUP BY #{uid} </select>
解决 返回的是1000.00
以上是关于php中金钱数据类型的主要内容,如果未能解决你的问题,请参考以下文章