社区
数据库及相关技术
帖子详情
怎么处理money的精度问题?
CACACACACA
2003-08-18 06:17:19
在sql2000中,MONEY类型是保留四位小数。在计算图书金额的时候,总是出现四舍五入的问题。用float也有这个问题。大家如何处理这个问题的?
...全文
55
3
打赏
收藏
怎么处理money的精度问题?
在sql2000中,MONEY类型是保留四位小数。在计算图书金额的时候,总是出现四舍五入的问题。用float也有这个问题。大家如何处理这个问题的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TR@SOE
2003-08-18
打赏
举报
回复
金额本身能到4位小数已经不错了。。。。
pengdali
2003-08-18
打赏
举报
回复
两位:
select cast(你的列 as numeric(10,2)) from 你的表
三位:
select cast(你的列 as numeric(10,3)) from 你的表
....
pengdali
2003-08-18
打赏
举报
回复
两位:
select cast(你的列 as numeric(10,2)) from 你的表
三位:
select cast(你的列 as numeric(10,3)) from 你的表
....
money
:使用BCMath的
Money
值对象的另一个PHP实现
钱 受和启发,使用BCMathPHP 7.1+
Money
库。 使用1.x系列可实现PHP 5.4+的兼容性。 动机 用浮点数表示货币值是不好的,您可能会失去
精度
并得到怪异的结果。 最好使用使用整数或BCMath的
Money
值对象。 该库使用后者。 为什么要使用另一个
Money
库? 已经有很多了! 是的,但是其中大多数使用整数作为内部货币表示,这不符合我们的需求! 在大多数情况下,使用整数很好,而且性能更高,但是有时您需要子单位计算。 例如,西班牙此处的天然气价格使用十分之一欧分或1.001€来计算。 增值税计算还可以利用BCMath等任意
精度
库提供的这种额外
精度
。 我们是一家电子商务公司,我们需要更高的
精度
,尤其是在计算折扣时。 为什么选择BCMath而不选择GMP? 尽管GMP库具有更好的性能,但是它在PHP中的实现缺少十进制算法,它只能
处理
整数。 有人将十进制实现添加到PHP扩
PHP仿微信红包[最佳手气]算法
/** * 拼手气红包实现方法[并做手气最佳
处理
] * 生成num个随机数,每个随机数占随机数总和的比例*
money
_total的值即为每个红包的钱额 * 考虑到
精度
问题
,最后重置最大的那个红包的钱额为
money
_total-其他红包的总额 * 浮点数比较大小,使用number_format,精确到2位小数 * * @param double $
money
_total 总钱额, 每人最少0.01,精确到2位小数 * @param int $num 发送给几个人 * @return array num个元素的一维数组,值是随机钱额 * @author Loy */
rusty_
money
:Rust的钱库
生锈的钱 rusty-
money
处理
诸如四舍五入,
精度
,解析和国际化之类的
处理
货币的混乱部分。 它支持货币,通用加密货币,并允许您定义自己的货币。 该库导出的主要项目是
Money
, iso和crypto货币集。 用法 通过提供金额和货币来创建
Money
对象。 金额可以数字或字符串类型指定,但将在内部存储为精确的小数。 您可以选择捆绑的货币或自己制作。 这是一个简单的示例,说明如何制作自己的Currency ,然后用它创建一些
Money
: use rusty -
money
:: {
Money
, define_currency_set}; define_currency_set! ( video_game { GIL: { code: "GIL" , exponent: 2 , locale: Locale :: EnUs,
currency.js:一个用于
处理
货币JavaScript库
currency.js currency.js是一个轻量级的〜1kb JavaScript库,用于
处理
货币值。 它旨在解决javascript中的浮点
问题
。 本次详细说明了javascript为什么存在浮点
问题
。 currency.js在后台使用整数形式的值,从而解决了一些最基本的
精度
问题
。 2.51 + .01 ; // 2.5199999999999996 currency ( 2.51 ) . add ( .01 ) ; // 2.52 2.52 - .01 ; // 2.5100000000000002 currency ( 2.52 ) . subtract ( .01 ) ; // 2.51 这应该适用于最合理的货币值。 只要您的货币值小于2 53 (美分)或90,071,992,547,
money
safe:JS中便捷,安全的货币计算
金钱$ afe JS中方便,安全的货币计算。 状态-开发人员预览
Money
$ afe尚未经过大规模生产测试。 它是什么? 编写
处理
金钱的软件在JavaScript中有点痛苦。 资金安全的计算比他们应该做的要难。 为什么? 因为JavaScript Numbers是IEEE 754 64位浮点数。 结果是我们不能安全地添加钱,因为小数点会因浮点舍入错误而被串扰。 .2 + .1 === .3 ; // false 但是,如果以任意
精度
单位执行相同的计算,则此
问题
将有效解决。
Money
$ afe将您的美元值转换为BigNumbers,然后公开算术运算,例如加,乘和除。 使用
Money
$ afe: add ( $ ( .1 ) , $ ( .2 ) ) . toNumber ( ) === $ ( .3 ) . toNumber ( ) ; 更好的是,这里有一个方便的分
数据库及相关技术
1,178
社区成员
18,939
社区内容
发帖
与我相关
我的任务
数据库及相关技术
C++ Builder 数据库及相关技术
复制链接
扫一扫
分享
社区描述
C++ Builder 数据库及相关技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章