function int_to_words($x) { global $nwords; if (!is_numeric($x)) { $w = '#'; } else { if (fmod($x, 1) != 0) { $w = '#'; } else { if ($x < 0) { $w = 'minus '; $x = -$x; } else { $w = ''; } if ($x < 21) { $w .= $nwords[$x]; } else { if ($x < 100) { $w .= $nwords[10 * floor($x / 10)]; $r = fmod($x, 10); if ($r > 0) { $w .= '-' . $nwords[$r]; } } else { if ($x < 1000) { $w .= $nwords[floor($x / 100)] . ' hundred'; $r = fmod($x, 100); if ($r > 0) { $w .= ' and ' . int_to_words($r); } } else { if ($x < 1000000) { $w .= int_to_words(floor($x / 1000)) . ' thousand'; $r = fmod($x, 1000); if ($r > 0) { $w .= ' '; if ($r < 100) { $w .= 'and '; } $w .= int_to_words($r); } } else { $w .= int_to_words(floor($x / 1000000)) . ' million'; $r = fmod($x, 1000000); if ($r > 0) { $w .= ' '; if ($r < 100) { $word .= 'and '; } $w .= int_to_words($r); } } } } } } } return $w; }
function denomination_to_words($amt) { if ($amt < 1) { return ucwords(int_to_words($amt * 100) . ' Bitcents'); } else { return ucwords(int_to_words($amt) . ' Bitcoins'); } }