Orm 使用Coldfusion表单存储货币

Orm 使用Coldfusion表单存储货币,orm,coldfusion,cfml,Orm,Coldfusion,Cfml,我需要在CF Orm实体中创建一个存储货币(美元和美分)的属性。例如:100.99或1.30等。我传统上使用decimal来存储货币,因为您可以集中小数点的数量,但decimal没有ORM属性类型,只有float。我尝试设置scale=2,但是(例如)1.30被存储为1.3,或者5.00被存储为5 有人能建议使用CF ORM处理货币(小数点后两位)的最佳方法吗 非常感谢根据文档,这里有一个大十进制或mtype。另外,不要忘记还有sqltype属性和ormtype属性。见文件:“”sqltype(

我需要在CF Orm实体中创建一个存储货币(美元和美分)的属性。例如:100.99或1.30等。我传统上使用decimal来存储货币,因为您可以集中小数点的数量,但decimal没有ORM属性类型,只有float。我尝试设置scale=2,但是(例如)1.30被存储为1.3,或者5.00被存储为5

有人能建议使用CF ORM处理货币(小数点后两位)的最佳方法吗


非常感谢

根据文档,这里有一个
大十进制
或mtype
。另外,不要忘记还有
sqltype
属性和
ormtype
属性。见文件:“”
sqltype
(以及
scale
precision
)将允许您适当地设置DB列


这就是说,这意味着CF(任何小数位数)和DB(可以强制为2DP)之间存在一个断开连接,这有点垃圾。我不知道这里是否有一种自动截断的方法。。。您可能需要创建一个
setter()
方法来处理它。

Bob Silverberg有一篇关于ColdFusion Form数据类型“”的好博客文章


就我个人而言,我更喜欢将货币存储为基本单位的整数,例如130美元兑换1.30美元的美分,然后在演示时处理小数点。在处理浮点值的计算时,它也有助于消除可能出现的舍入错误。

这是个好主意。我总是以字节而不是KB或MB来存储文件大小。从未想过对货币采取同样的方法。