This commit is contained in:
salam committed 2026-10-04 15:25:03 +02:00
1 parent 9bcd4432c6
commit 6f92f9e1d5
1209 files changed
+220940

No files matched your search

+82
View File
@@ -0,0 +1,82 @@
<?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;
}
}