如果我需要提供
的价值20 000 000,50
12 000 000
2 000 000,75
100 000,866
18 000 000,42
我应该使用哪种C#数据类型?
答案 0 :(得分:4)
所以你正在使用浮点值。您有两种选择:
如果您获得有效数字,请使用Double
,例如2000000.50
实际上意味着,例如2.00e6
(3位有效数字)。通常这些类型的值来自物理世界:伏特,安培,米等。
如果您在小数点后面有有效数字,请使用Decimal
,例如2000000.50
实际上意味着2000000.500
(小数点后 3位数)。
通常这些价值来自金融:美元和美分等。
答案 1 :(得分:2)
答案 2 :(得分:1)
简短的回答是:decimal
。
备选方案 - double
不适用于货币值,因为美分是二进制编码的,并且通常会对值进行舍入(例如,您可能100.04
代替100.03999999
。
答案 3 :(得分:1)
我们也使用了小数。
十进制= 128位精确十进制值,28-29显着 数字,
double = 64位双精度浮点类型,
float = 32位单精度浮点类型,
int = 32位 有符号整数类型