<?php
function FormatNumber( $number) {
$result = '';
if( strpos($number, '.') !== false) {
$explode_number = explode('.', $number);
$digits = $explode_number[1];
$splitDigits = str_split( $digits);
if( !preg_match('/[1-9]/', $digits)) {
$new_digits = ( sizeof( $splitDigits) > 2 ? substr( $digits, 0, 2) : $digits);
$result = $explode_number[0].'.'.$new_digits;
}
else {
$reverseDigits = array_reverse( $splitDigits);
for( $i = 0; $i < $reverseDigits; $i++) {
if( $reverseDigits[ $i] == 0) {
unset( $reverseDigits[ $i]);
}
else {
$new_digits = implode('', array_reverse( $reverseDigits));
$result = $explode_number[0].'.'.$new_digits;
break;
}
}
}
}
else {
$result = $number;
}
return $result;
}
echo FormatNumber('450.00000000').'<br>';
echo FormatNumber('900.00000000').'<br>';
echo FormatNumber('-60.00000000').'<br>';
echo FormatNumber('10.00000000').'<br>';
echo FormatNumber('900.65000000').'<br>';
echo FormatNumber('900.00059000');
?>
En lille skræddersyet funktion, der meget gerne skulle løse dit problem. Du bør dog lige sikre, at decimaltallene separeres med et punktum og ikke et komma - ellers kan du erstatte dette i starten af koden med str_replace()..
Koden kan sikkert effektiveres, men det må du selv lige rode lidt med. Jeg er åben for spørgsmål. :-)