当前位置: 首页 > 面试题库 >

将Double舍入到最接近的10

柳培
2023-03-14
问题内容

我想将a舍Double入到最接近的10的倍数。

例如,如果数字为8.0,则四舍五入为10。如果数字为2.0,则将其四舍五入为0。

我怎样才能做到这一点?


问题答案:

您可以使用round()函数(将浮点数四舍五入到最接近的整数值)并应用“比例因子” 10:

func roundToTens(x : Double) -> Int {
    return 10 * Int(round(x / 10.0))
}

用法示例:

print(roundToTens(4.9))  // 0
print(roundToTens(15.1)) // 20

在第二个示例中,15.1除以十(1.51),四舍五入(2.0),转换为整数(2),然后再乘以10(20)。

斯威夫特3:

func roundToTens(_ x : Double) -> Int {
    return 10 * Int((x / 10.0).rounded())
}

或者:

func roundToTens(_ x : Double) -> Int {
    return 10 * lrint(x / 10.0)
}


 类似资料:
  • 问题内容: 我正在尝试制作一个增长率()计算器,将结果四舍五入到最接近的整数并从那里重新计算,如下所示: 但到目前为止我一直做不到。 编辑 我有点是这样的: 尽管我不介意它总是四舍五入,但我不喜欢它,因为必须成为变量并在整个程序中进行更改(以便进行下一次计算),我不希望这种情况发生。 问题答案: 库中有一个可用项 (实际上在中 ,但是 在 大多数情况下您需要使用 导入 而不是 直接 使用 ) 。

  • 问题内容: 我正在尝试在python中舍入整数。我看了内置的round()函数,但似乎舍入浮动了。 我的目标是将整数四舍五入到最接近的10的倍数。即:5-> 10、4-> 0、95-> 100,等等。 5和更高的值应四舍五入,4和更低的值应四舍五入。 这是我这样做的代码: 这是实现我想要实现的最好方法吗?有内置的功能吗?另外,如果这是最好的方法,那么我在测试中遗漏的代码是否有问题? 问题答案: 实

  • 问题内容: 我可以在python中进行以下舍入: 四舍五入到最接近的05小数 7,97-> 7,95 6,72-> 6,70 31,06-> 31,05 36,04-> 36,05 5,25-> 5,25 希望有道理。 问题答案:

  • 问题内容: 我试图弄清楚如何将货币金额向上舍入至最接近的5美分。以下显示了我的预期结果 我需要结果的精度为2(如上所示)。 更新资料 按照下面的建议,我能做的就是 我不认为这是100%的原始数据-我担心在转换为双精度和从双精度转换时精度可能会丢失。但是,这是到目前为止我能想到的最好的方法,并且 似乎 可以解决。 问题答案: 您可以使用普通双精度来做到这一点。 编辑:对于负数,您需要减去0.5

  • 问题内容: 我一直试图舍入长浮点数,例如: 到目前为止没有成功。我想,(尽管这或圆形上下,这是不是我要找的)和它没有任何工作(还是浮点数)。 我能做什么? 编辑:代码: 问题答案: int(round(x)) 将其舍入并将其更改为整数 编辑: 您没有将int(round(h))分配给任何变量。当您调用int(round(h))时,它返回整数,但不执行其他任何操作。您必须将该行更改为: 将新值分配给

  • 问题内容: 我来到了Java程序的一部分,我需要四舍五入到最接近的百位数,并认为可能有某种方法可以做到这一点,但我想没有。因此,我在网上搜索了示例或任何答案,但由于所有示例看起来都接近最接近的一百,因此至今仍未找到任何答案。我只想这样做并向上取整。也许有一些我忽略的简单解决方案。我已经尝试了其他功能,但到目前为止还没有找到答案。如果有人可以帮助我解决这个问题,我将不胜感激。 如果我的电话号码是20