rash44
جمعه 18 اردیبهشت 1388, 21:35 عصر
سلام
با کد فوق مبلغ 1 فاکتور رو بصروت حروف چاپ می کنم
مثلا بجای سیصد چاپ میکنه سه صد یا دویست دو صد
لطفا کد رو اصلاح کنید
ممنون
<?php
$nwords = array( "صفر", "یک", "دو", "سه", "چهار", "پنج", "شش", "هفت",
"هشت", "نه", "ده", "یازده", "دوازده", "سیزده",
"چهارده", "پانزده", "شانزده", "هفده", "هجده",
"نوزده", "بیست", 30 => "سی", 40 => "چهل",
50 => "پنجاه", 60 => "شصت", 70 => "هفتاد", 80 => "هشتاد",
90 => "نود" );
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)] .' صد';
$r = fmod($x, 100);
if($r > 0)
{
$w .= ' و '. int_to_words($r);
}
} else if($x < 1000000)
{
$w .= int_to_words(floor($x/1000)) .' هزار';
$r = fmod($x, 1000);
if($r > 0)
{
$w .= ' و ';
if($r < 100)
{
$w .= ' ';
}
$w .= int_to_words($r);
}
} else {
$w .= int_to_words(floor($x/1000000)) .' میلیون';
$r = fmod($x, 1000000);
if($r > 0)
{
$w .= ' ';
if($r < 100)
{
$word .= ' ';
}
$w .= int_to_words($r);
}
}
}
return $w;
}
echo '
'.int_to_words(($price+3000)).' ریال تمام ';
?>
با کد فوق مبلغ 1 فاکتور رو بصروت حروف چاپ می کنم
مثلا بجای سیصد چاپ میکنه سه صد یا دویست دو صد
لطفا کد رو اصلاح کنید
ممنون
<?php
$nwords = array( "صفر", "یک", "دو", "سه", "چهار", "پنج", "شش", "هفت",
"هشت", "نه", "ده", "یازده", "دوازده", "سیزده",
"چهارده", "پانزده", "شانزده", "هفده", "هجده",
"نوزده", "بیست", 30 => "سی", 40 => "چهل",
50 => "پنجاه", 60 => "شصت", 70 => "هفتاد", 80 => "هشتاد",
90 => "نود" );
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)] .' صد';
$r = fmod($x, 100);
if($r > 0)
{
$w .= ' و '. int_to_words($r);
}
} else if($x < 1000000)
{
$w .= int_to_words(floor($x/1000)) .' هزار';
$r = fmod($x, 1000);
if($r > 0)
{
$w .= ' و ';
if($r < 100)
{
$w .= ' ';
}
$w .= int_to_words($r);
}
} else {
$w .= int_to_words(floor($x/1000000)) .' میلیون';
$r = fmod($x, 1000000);
if($r > 0)
{
$w .= ' ';
if($r < 100)
{
$word .= ' ';
}
$w .= int_to_words($r);
}
}
}
return $w;
}
echo '
'.int_to_words(($price+3000)).' ریال تمام ';
?>