当前位置:  开发笔记 > 编程语言 > 正文

舍入到最接近和最小倍数为10

如何解决《舍入到最接近和最小倍数为10》经验,为你挑选了1个好方法。

所以这是我的情况.我有几个数字,我想要舍入到最接近的10和最小倍数.

例如,51到59之间的值应该舍入到50.

Input = 59 = >Respose = 50

Input = 51 => Respose = 50

我试过了

$number = round(53, -1);

这将是50,这是我想要的正确,但如果我尝试56,它会给我60.但在这里也,我期待50.有人可以帮我吗?

接受的答案(如果有人正在阅读问题)

楼层($ number/10)*10

但是,它给出了十进制值,我将其舍入并更改为

$amount = (int)floor($amount / 10)*10;

Bathsheba.. 6

使用floor代替; 首先除以10然后将截断的结果乘以:

$number = floor($number / 10) * 10

使用诸如此类的解决方案$number = round($number - 5, -1);可能会导致浮点边缘情况出现问题.(有趣的是,这是早期Java实现的方式,带来了灾难性的结果.)



1> Bathsheba..:

使用floor代替; 首先除以10然后将截断的结果乘以:

$number = floor($number / 10) * 10

使用诸如此类的解决方案$number = round($number - 5, -1);可能会导致浮点边缘情况出现问题.(有趣的是,这是早期Java实现的方式,带来了灾难性的结果.)

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有