C#中值为20 000 000,50的数据类型?

时间:2015-10-20 08:17:39

标签: c#

如果我需要提供

的价值
20 000 000,50
12 000 000
 2 000 000,75
   100 000,866
18 000 000,42

我应该使用哪种C#数据类型?

4 个答案:

答案 0 :(得分:4)

所以你正在使用浮点值。您有两种选择:

  1. 十进制
  2. 如果您获得有效数字,请使用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位   有符号整数类型