【问题标题】:Get Maximum Amount Multiple of 50, without cents获得最大金额 50 的倍数,没有美分
【发布时间】:2012-07-27 00:30:35
【问题描述】:

我正在尝试用可以除以 50 且没有美分的金额填充文本框。

示例: 金额 -> 52353.85 应该显示 -> 52350

金额-> 1229.68 应该显示-> 1200

如何修改值?

提前致谢。

【问题讨论】:

  • 似乎四舍五入可以是任意的?
  • 四舍五入似乎是有道理的。将其四舍五入到能被 50 整除的最接近的整数
  • 实际上,对不起,这没有意义。 1229.68 应该向上舍入到 1250。你希望它总是向下舍入到最接近的 50?
  • @Greg 如果我们希望数字可以四舍五入,我们可以将 25 添加到旧值。请看我的回答

标签: c# asp.net textbox floating-point


【解决方案1】:
int newValue = (int)(oldValue / 50) * 50;

如果您希望数字可以四舍五入,则在旧值上加 25

int newValue = (int)((oldValue + 25) / 50) * 50;

【讨论】:

  • 正是我需要的。谢谢
【解决方案2】:

这给出了正确四舍五入的结果:

return Math.Round(x / 50.0) * 50;

【讨论】:

    【解决方案3】:
    return (int)x - ((int)x % 50);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-13
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      • 2022-10-21
      • 1970-01-01
      相关资源
      最近更新 更多