在c#中,哪种数据类型最适合赚钱?
当前回答
创建自己的类。这看起来很奇怪,但是. net类型不足以覆盖不同的货币。
其他回答
小数。如果你选择了double,你就很容易出现舍入错误
由于它的十进制描述为:
关键字decimal表示128位数据类型。相比 浮点类型,小数类型有更高的精度和 较小的范围,这使得它适用于金融和货币 计算。
你可以像下面这样使用小数:
decimal myMoney = 300.5m;
创建自己的类。这看起来很奇怪,但是. net类型不足以覆盖不同的货币。
另一种选择(特别是如果您滚动自己的类)是使用int或int64,并指定后面的四位数字(甚至可能是2)为“小数点的右侧”。所以“在边缘”,你需要一些“* 10000”在入口,一些“/ 10000”在出口。这是微软SQL Server使用的存储机制,请参见http://msdn.microsoft.com/en-au/library/ms179882.aspx
这样做的好处是,所有的求和都可以用(快速的)整数算术来完成。
使用来自企业应用程序体系结构模式的Money模式。指定金额为十进制,货币为枚举。
推荐文章
- 如何在c#中获得正确的时间戳
- Linq选择列表中存在的对象(A,B,C)
- c# .NET中的App.config是什么?如何使用它?
- c#:如何获得一个字符串的第一个字符?
- String类中的什么方法只返回前N个字符?
- 更好的方法将对象转换为int类型
- 我可以将c#字符串值转换为转义字符串文字吗?
- 在c#中转换char到int
- c#中朋友的对等物是什么?
- 关键字使用virtual+override vs. new
- 在ASP中选择Tag Helper。NET Core MVC
- 如何在没有任何错误或警告的情况下找到构建失败的原因
- 跨线程操作无效:控件“textBox1”从创建它的线程以外的线程访问
- 否ConcurrentList<T>在。net 4.0?
- 在c#中解析字符串为日期时间