在c#中,哪种数据类型最适合赚钱?
当前回答
小数。如果你选择了double,你就很容易出现舍入错误
其他回答
使用来自企业应用程序体系结构模式的Money模式。指定金额为十进制,货币为枚举。
系统。小数
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类型不足以覆盖不同的货币。
由于它的十进制描述为:
关键字decimal表示128位数据类型。相比 浮点类型,小数类型有更高的精度和 较小的范围,这使得它适用于金融和货币 计算。
你可以像下面这样使用小数:
decimal myMoney = 300.5m;
同意货币模式:当你使用小数时,处理货币太麻烦了。
如果您创建了currency类,那么您就可以将所有与货币相关的逻辑放在那里,包括正确的ToString()方法、对解析值的更多控制以及对除法的更好控制。
此外,使用Currency类,就不会意外地将货币数据与其他数据混淆。
推荐文章
- 在什么情况下SqlConnection会自动被征召到环境事务范围事务中?
- 用c#解析JSON
- Windows窗体中的标签的换行
- 为什么在c#中使用finally ?
- 为什么我不能在c#中有抽象静态方法?
- net HttpClient。如何POST字符串值?
- 我如何使一个方法的返回类型泛型?
- 不可变与可变类型
- 何时处理CancellationTokenSource?
- 如何获取正在执行的程序集版本?
- AutoMapper vs valueinjector
- 为什么控制台不。Writeline,控制台。在Visual Studio Express中编写工作?
- 什么是.NET程序集?
- 字符串不能识别为有效的日期时间“格式dd/MM/yyyy”
- 函数应该返回空对象还是空对象?