如何在 PHP 中将整数向上舍入到最接近的 15
How to round an integer UP to the nearest 15 in PHP
我有一个 INTEGER(255) 变量 $duration
存储了从用户那里获取的值。我需要将其四舍五入到最接近的 15。我搜索了所有内容,但未能找到解决方案。
我该怎么做?
例如:
- 10 变成 15
- 16 变成 30
- 130 变成 135
此外,如何将 $duration
添加到 TIME 变量 $time
以输出该持续时间之后的时间?
例如,来自080000
:
- 如果
$duration
是15,$time
就变成081500
- 如果
$duration
是30,$time
就变成083000
- 如果
$duration
是135,$time
就变成101500
谢谢!
您可以使用带转换的简单除法和加法(return 没有小数的整数值)运算符,如下所示:
$val = 130;//or any value
$roundedVal = ((int)($val/15) + 1) * 15;
关于第二个问题:
$time='080000';
$valHours = (int)($val/60);
$valMin = (int)($val % 60);
$time = $time + ($valHours * 10000) + ($valMin * 100);
$time = strlen($time) == 8? $time : '0' . $time;
最后一行是指或固定前导零,因为它不是传统的时间格式。
我没有考虑秒数。
我有一个 INTEGER(255) 变量 $duration
存储了从用户那里获取的值。我需要将其四舍五入到最接近的 15。我搜索了所有内容,但未能找到解决方案。
我该怎么做?
例如:
- 10 变成 15
- 16 变成 30
- 130 变成 135
此外,如何将 $duration
添加到 TIME 变量 $time
以输出该持续时间之后的时间?
例如,来自080000
:
- 如果
$duration
是15,$time
就变成081500 - 如果
$duration
是30,$time
就变成083000 - 如果
$duration
是135,$time
就变成101500
谢谢!
您可以使用带转换的简单除法和加法(return 没有小数的整数值)运算符,如下所示:
$val = 130;//or any value
$roundedVal = ((int)($val/15) + 1) * 15;
关于第二个问题:
$time='080000';
$valHours = (int)($val/60);
$valMin = (int)($val % 60);
$time = $time + ($valHours * 10000) + ($valMin * 100);
$time = strlen($time) == 8? $time : '0' . $time;
最后一行是指或固定前导零,因为它不是传统的时间格式。 我没有考虑秒数。