برگزیده های پرشین تولز

تبدیل اعداد به فارسی

میلاد

کاربر فعال
کاربر فعال
تاریخ عضویت
7 ژوئن 2005
نوشته‌ها
1,810
لایک‌ها
4
سن
37
محل سکونت
Esfahan
سلام
بهترین راه برای فارسی کردن اعداد انگلیسی یک متن چی هستش!؟
چطوری عدد مثلا (۱۰۰۰) را به (۱٫۰۰۰) یا مثلا (۱۲۳۴۵) را به (۱۲٫۳۴۵) تبدیل کنم!؟
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
اگه منظورت کامای بین هر سه رقم هست (تو اعدادی که مثال زدی اینطوریه)، از number_format میشه استفاده کرد.
برای تبدیل هم یه تابع میشه نوشتت که str_replace انجام بده.

PHP:
function farsinumber($n) {
	$n = str_replace('1', '1', $n);
	$n = str_replace('2', '2', $n);
	........
	return($n);
}

(تو کد عدد اولی انگلیسی باید باشه، دومی فارسی)
 

میلاد

کاربر فعال
کاربر فعال
تاریخ عضویت
7 ژوئن 2005
نوشته‌ها
1,810
لایک‌ها
4
سن
37
محل سکونت
Esfahan
سلام
ممنون، خودمم یه تایع شبیه en2fa نوشتم اما با preg_replace.
مسئله ای که هست من میخوام برای جدا سازی سه رقم از (٫) استفاده بشه نه مشابه انگلیسیش.
 

میلاد

کاربر فعال
کاربر فعال
تاریخ عضویت
7 ژوئن 2005
نوشته‌ها
1,810
لایک‌ها
4
سن
37
محل سکونت
Esfahan
سلام
من عدد را با number_format فرمت کردم بعد "," و "٫" راهم به اون دوتا آرایه اضافه کردم، راه دیگه ای هم هست!؟
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
39
محل سکونت
جایی که خدا نباشد
نیاز به کد نویسی نداری تو تگ html عنصری که تکست رو توش مینویسی اینو اضافه کن dir='rtl' تمام اعداد رو فارسی میکنه.
 

gavbandy

Registered User
تاریخ عضویت
15 فوریه 2005
نوشته‌ها
364
لایک‌ها
3
چه کنیم خراب اپن سورسیم
فقط خداییش ازش درست استفاده کنید و رایگان به همه بدید.
PHP:
function num2money( $number ){
 if( is_numeric($number)){
  return ''.number_format($number , 0, '.', ',').' '.payment_vahed.'';
 }else{
  return $number;
 }
}
function num2fa($str) {
 $num = strval($str);
 $res = '';
 for ($i=0; $i<strlen($num); $i++) {
  if (ord($num{$i})>=0x30 && ord($num{$i})<0x3A) {
                        $res .= code2utf(0x6F0/*0x660*/+$num{$i});
  } else $res .= $num{$i};
 }
 return $res;
}
function code2utf($num){
 if($num<128)return chr($num);
 if($num<2048)return chr(($num>>6)+192).chr(($num&63)+128);
 if($num<65536)return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128);
 if($num<2097152)return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128). chr(($num&63)+128);
 return '';
}
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
از این راحت تر آخه ؟
کد:
<? echo en2fa(number_format($n)) ?>
 

میلاد

کاربر فعال
کاربر فعال
تاریخ عضویت
7 ژوئن 2005
نوشته‌ها
1,810
لایک‌ها
4
سن
37
محل سکونت
Esfahan
نیاز به کد نویسی نداری تو تگ html عنصری که تکست رو توش مینویسی اینو اضافه کن dir='rtl' تمام اعداد رو فارسی میکنه.
والا شما حرفه ای هستی ما عقلمون به این چیزا نمیرسه.
 

میلاد

کاربر فعال
کاربر فعال
تاریخ عضویت
7 ژوئن 2005
نوشته‌ها
1,810
لایک‌ها
4
سن
37
محل سکونت
Esfahan
از همه دوستان ممنونم.
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
39
محل سکونت
جایی که خدا نباشد
والا شما حرفه ای هستی ما عقلمون به این چیزا نمیرسه.

بله توجهم به درجات عالیه شما بود اما گفتم شاید بخواید برای گربهه یه در بزرگ و بچه گربه هم یه در کوچیک درست کنید.هر چند این rtl هم بعضی مواقع به دلیل ویندوز کار نمیکنه.
 
بالا