ik post het hier want op het internet vind je meestal aleen engelse varianten
het kan altijd nuttig zijn
snippet uit mijn controller:
protected function nummerNaarWoord($number)
{
//nummers omzetten naar woorden, zit waarschijnlijk nog vol met bugs maarja, nederlands is geen makkelijke taal
if (($number < 0) || ($number > 999999999))
{
throw new Exception("Number is out of range");
}
$Gn = floor($number / 1000000);
$number -= $Gn * 1000000;
$kn = floor($number / 1000);
$number -= $kn * 1000;
$Hn = floor($number / 100);
$number -= $Hn * 100;
$Dn = floor($number / 10);
$n = $number % 10;
$res = "";
if ($Gn)
{
$res .= $this->nummerNaarWoord($Gn) . "miljoen";
}
if ($kn)
{
$res .= (empty($res) ? "" : " ") .
$this->nummerNaarWoord($kn) . "duizend";
}
if ($Hn)
{
$tmp = ($Hn>1)?$this->nummerNaarWoord($Hn):"";
$res .= (empty($res) ? "" : " ") .
$tmp. "honderd";
}
$ones = array("", "een", "twee", "drie", "vier", "vijf", "Zes",
"Zeven", "Acht", "Negen", "Tien", "Elf", "Twaalf", "Dertien",
"Veertien", "Vijftien", "Zestien", "Zeventien", "Achtien",
"Negentien");
$tens = array("", "", "Twintig", "Dertig", "Veertig", "Vijftig", "Zestig",
"Zeventig", "Achtig", "Negentig");
if ($Dn || $n)
{
if (!empty($res))
{
$res .= "";
}
if ($Dn < 2)
{
$res .= $ones[$Dn * 10 + $n];
}
else
{
if ($n)
{
$res .= $ones[$n]."en".$tens[$Dn];
} else $res .= $tens[$Dn];
}
}
if (empty($res))
{
$res = "Nul";
}
return ucfirst(strtolower($res));
}

Help












