将小数作为字符串存储在proto3中有哪些缺点

本文关键字:缺点 proto3 小数 字符串 存储 | 更新日期: 2023-09-27 17:58:31

我在我的持久存储系统中使用谷歌协议缓冲库,并希望持久化货币值,但我不确定photo提供的浮点类型(float/double)是否足够好。将我的所有货币值存储为字符串(例如,存储"0.10"而不是0.1),然后在检索数据并需要进行算术运算时使用Convert.ToDecimal函数,有什么缺点吗?

将小数作为字符串存储在proto3中有哪些缺点

您认为float/double数据类型不适合"货币!"是正确的

考虑SQL数据库(以及,uhh,COBOL程序…)通常如何存储"货币"值:;它们使用某种小数表示;例如,一个真正的COBOL程序可能使用"二进制编码十进制(BCD)"数据类型 Microsoft Access数据库使用一个"缩放整数":美元和美分值乘以10000,在小数点右侧给出一个固定(!)"4位数字。"

为了这个问题的直接目的,我肯定会将值存储为字符串,然后认真考虑要存储的位数如何处理对该位数的"舍入" (例如,有一些算法,如"银行家四舍五入"。)

“存储大小”nbsp;您不喜欢;t关心这一点 您所关心的是,如果某个特定客户(或审计师…)实际上将打印报表上的所有数字相加,那么这张纸上的底线就会一致。。。至少在一便士之内。