Files
nuhodds_fi4/app/Utilities/Round.php
T
2026-05-23 18:25:25 +02:00

83 lines
3.0 KiB
PHP

<?php
namespace App\Utilities;
class Round
{
public static function odd($value)
{
// $value = 1 / $value;
if ($value) {
if ($value <= 1) {
// to 0.01
$fac = pow(10, 2);
$value = round($value * $fac) / $fac;
} elseif ($value > 1 && $value <= 3) {
// to 0.01
$fac = pow(10, 2);
$value = round($value * $fac) / $fac;
} elseif ($value > 3 && $value <= 5) {
// to 0.05,
$value *= 20;
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
$value /= 20;
$fac = pow(10, 2);
$value = round($value * $fac) / $fac;
} elseif ($value > 5 && $value <= 10) {
// to 0.1
$fac = pow(10, 1);
$value = round($value * $fac) / $fac;
} elseif ($value > 10 && $value <= 20) {
// to 0.25
$value *= 4;
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
$value /= 4;
$fac = pow(10, 2);
$value = round($value * $fac) / $fac;
} elseif ($value > 20 && $value < 30) {
// to 0.5
$value *= 2;
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
$value /= 2;
$fac = pow(10, 2);
$value = round($value * $fac) / $fac;
} elseif ($value > 30 && $value < 75) {
// to => 1
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
} elseif ($value > 75 && $value < 150) {
// to => 5
$value /= 5;
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
$value *= 5;
} elseif ($value > 150 && $value < 300) {
// to => 10
$value /= 10;
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
$value *= 10;
} elseif ($value > 300 && $value < 500) {
// to => 25
$value /= 25;
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
$value *= 25;
} elseif ($value > 500 && $value < 1000) {
// to => 50
$value /= 50;
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
$value *= 50;
} else {
// to => 50
$value /= 100;
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
$value *= 100;
}
}
$value = round($value * 100) / 100;
// min max quote
if ($value < 1.01) {
$value = 1;
}
return $value;
}
}