note 68249 added to ref.strings
| From: | dot) | Date: | Wed, 19 Jul 2006 17:52:49 +0000 |
| Subject: | note 68249 added to ref.strings | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-114937@lists.php.net to get a copy of this message | ||
Sometimes when converting integers to strings, it looks better to have the number spelled out. I
wrote this function that converts integers from -999 to 999 into spelled out strings:
function int2str($int=0){
$doOnes=true;
$neg=$int<0?true:false;
$int=abs(round($int));
$str='';
switch(strlen($int)){
case 1:$int='0'.$int;
case 2:$int='0'.$int;
case 3:$int.='';break;
default:return $int;
}
switch($int{0}){
case 1:$str.='one-hundred-';break;
case 2:$str.='two-hundred-';break;
case 3:$str.='three-hundred-';break;
case 4:$str.='four-hundred-';break;
case 5:$str.='five-hundred-';break;
case 6:$str.='six-hundred-';break;
case 7:$str.='seven-hundred-';break;
case 8:$str.='eight-hundred-';break;
case 9:$str.='nine-hundred-';break;
}
switch($int{1}){
case 1:
switch($int{2}){
case 0:$str.='ten-';break;
case 1:$str.='eleven-';break;
case 2:$str.='twelve-';break;
case 3:$str.='thirteen-';break;
case 4:$str.='fourteen-';break;
case 5:$str.='fifteen-';break;
case 6:$str.='sixteen-';break;
case 7:$str.='seventeen-';break;
case 8:$str.='eighteen-';break;
case 9:$str.='nineteen-';break;
}
$doOnes=false;
break;
case 2:$str.='twenty-';break;
case 3:$str.='thirty-';break;
case 4:$str.='forty-';break;
case 5:$str.='fifty-';break;
case 6:$str.='sixty-';break;
case 7:$str.='seventy-';break;
case 8:$str.='eighty-';break;
case 9:$str.='ninety-';break;
}
if($doOnes){
switch($int{2}){
case 1:$str.='one-';break;
case 2:$str.='two-';break;
case 3:$str.='three-';break;
case 4:$str.='four-';break;
case 5:$str.='five-';break;
case 6:$str.='six-';break;
case 7:$str.='seven-';break;
case 8:$str.='eight-';break;
case 9:$str.='nine-';break;
}}
$str=substr($str,0,-1);
if($neg){
$str='negative '.$str;
}
if($int=='000'){
$str='zero';
}
return $str;
}
Hope this helps someone,
-Blayde
----
Server IP: 66.163.161.117
Probable Submitter: 207.70.3.163 (proxied: 1.0 ISASERVER, 1.0 DMZSERVER)
----
X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER
autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/ref.strings.php
Edit -- http://master.php.net/note/edit/68249
Del: integrated -- http://master.php.net/note/delete/68249/integrated
Del: useless -- http://master.php.net/note/delete/68249/useless
Del: bad code -- http://master.php.net/note/delete/68249/bad+code
Del: spam -- http://master.php.net/note/delete/68249/spam
Del: non-english -- http://master.php.net/note/delete/68249/non-english
Del: in docs -- http://master.php.net/note/delete/68249/in+docs
Del: other reasons-- http://master.php.net/note/delete/68249
Reject -- http://master.php.net/note/reject/68249
Search -- http://master.php.net/manage/user-notes.php