【问题标题】:decimal/double/float won't store decimal places [duplicate]小数/双精度/浮点数不会存储小数位 [重复]
【发布时间】:2015-03-14 10:53:36
【问题描述】:

我已经尝试过使用十进制、双精度和浮点变量。我将一个整数除以另一个整数并将结果存储在一个变量中。这三种数据类型都不会存储小数点,例如:

double d;
uint num1 = 20
uint num2 = 3
d = num1 / num2;
//d = 6.0

好像是四舍五入到最接近的整数,请帮忙?

【问题讨论】:

  • 还阅读以下内容以获得良好的参考C# MSDN Decimal.Divide Method()
  • 成功了,谢谢!另外,你知道如果需要显式转换没有错误,为什么我必须在分配时将其转换为小数吗?
  • 过去应该至少有一个人问过同样的问题...除以 2 整数有点常见 - 令人惊讶的是您之前没有发现任何关于它的问题。

标签: c# integer double decimal


【解决方案1】:

在进行除法和存储结果之前,您应该先将 num1 或 num2 转换为小数/双精度/浮点数。

【讨论】:

    【解决方案2】:

    当你用整数做数学运算时,结果是一个整数。这就是运算符的定义方式。要进行双重数学运算,请将 num1num2 或两者都设为双精度数,或者在计算之前将其中一个转换为双精度数。

    【讨论】:

      猜你喜欢
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-10
      相关资源
      最近更新 更多