相关疑难解决方法(0)

为什么不使用Double或Float来表示货币?

我总是被告知永远不要代表钱doublefloat类型,这次我向你提出问题:为什么?

我确信有一个很好的理由,我根本不知道它是什么.

floating-point currency

887
推荐指数
11
解决办法
27万
查看次数

如何使用Swift在文本字段(从右到左)输入货币格式?

我有一个数字可以说0.00.

  • 当用户点击1.我们应该 0.01
  • 当用户点击2.我们应该显示 0.12
  • 当用户点击3.我们应该显示 1.23
  • 当用户点击4.我们应该显示 12.34

我怎么能用Swift做到这一点?

uitextfield nsnumberformatter ios swift swift3

45
推荐指数
3
解决办法
3万
查看次数

如何使用Banker在C中的舍入将double转换为int

我想编写一个函数,使用Banker的Rounding方法将double转换为int(舍入一半到偶数:http://en.wikipedia.org/wiki/Rounding#Round_half_to_even),如:

int RoundToInt(double x);
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

更新:

我能得到的最好的是:

int RoundToInt(double x)
{
  int s = (int)x;
  double t = fabs(x - s);

  if ((t < 0.5) || (t == 0.5 && s % 2 == 0))
  {
    return s;
  }
  else
  {
    if (x < 0)
    {
      return s - 1;
    }
    else
    {
      return s + 1;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但这很慢,我甚至不确定它是否准确.

有没有一些快速准确的方法来做到这一点.

c algorithm rounding

6
推荐指数
1
解决办法
3270
查看次数