Zdravím, mám problém s algoritmem.
Potřebuju funkci do které vložím číslo a ono mi ho rozdělí po tisících
(např. z 1256897097 by měla fce vrátit 1 256 897 097).
Tento algorytmus příliš nefunguje
final class NumSplitter {
protected function reverseOnAxis($number) {
return $number - (2 * $number);
}
protected function reverseDirection($number) {
$ceiling = strlen((string)$number);
for($i = $ceiling - 1; $i > -1; $i = $i - 1) {
$cutEnd = $this->reverseOnAxis($ceiling - $i);
$splitted .= substr((string)$number, $cutEnd, 1);
}
return $splitted;
}
public function splitByThousands($number) {
$number = $this->reverseDirection($number);
$ceiling = strlen((string)$number);
$trigger = 1;
$finished = FALSE;
for($i = 0; $i < $ceiling; $i++) {
$cutEnd = $this->reverseOnAxis($ceiling - $i);
if($trigger == 3) {
$trigger = 0;
$splitted .= substr((string)$number, $cutEnd, 1) . ' ';
} else {
if(($ceiling - $i) < 3) {
if(!$finished) {
$splitted .= substr((string)$number, $cutEnd, 1) . ' ';
$finished = TRUE;
} else {
$splitted .= substr((string)$number, $cutEnd, 1) . ' ';
$finished = FALSE;
}
} else {
$splitted .= substr((string)$number, $cutEnd, 1);
$trigger++;
}
}
}
$splitted = $this->reverseDirection($splitted);
return $splitted;
}
}
?>
Nemáte nějakou vizi jak to řešit?