在c#中,哪种数据类型最适合赚钱?
当前回答
系统。小数
Decimal值类型表示十进制数字,范围从正79,228,162,514,264,337,593,543,950,335到负79,228,162,514,264,337,593,543,950,335。Decimal值类型适用于需要大量有效整数和小数位数且没有舍入错误的财务计算。Decimal类型并不能消除舍入的需要。相反,它最小化了舍入造成的错误。
我想指出zneak关于为什么不应该使用double的出色回答。
其他回答
创建自己的类。这看起来很奇怪,但是. net类型不足以覆盖不同的货币。
小数。如果你选择了double,你就很容易出现舍入错误
由于它的十进制描述为:
关键字decimal表示128位数据类型。相比 浮点类型,小数类型有更高的精度和 较小的范围,这使得它适用于金融和货币 计算。
你可以像下面这样使用小数:
decimal myMoney = 300.5m;
同意货币模式:当你使用小数时,处理货币太麻烦了。
如果您创建了currency类,那么您就可以将所有与货币相关的逻辑放在那里,包括正确的ToString()方法、对解析值的更多控制以及对除法的更好控制。
此外,使用Currency类,就不会意外地将货币数据与其他数据混淆。
十进制的范围更小,但精度更高——所以你不会随着时间的推移失去所有的便士!
详情如下:
http://msdn.microsoft.com/en-us/library/364x0z75.aspx
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何分裂()一个分隔字符串到一个列表<字符串>
- 纬度和经度的数据类型是什么?
- 如何转换列表<字符串>列表<int>?