2013-07-09 35 views

回答

0

爲阿拉伯數字:)很好的解決方案。您可以編寫功能的這樣一個簡單的版本:

function convert_arabic(str:String) 
{ 
    var eng_num = ["0","1","2","3","4","5","6","7","8","9"]; 
    var ara_num = ["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"]; 

    for(var f:int = 0; f < eng_num.length; f++) 
     str = str.replace(new RegExp(eng_num[f], "g"), ara_num[f]); 

    return str; 
} 

問候,

+0

是的,謝謝:)順便說一句,我是一個新的Flash開發者:D –

+0

但我使用函數來轉換時間 –

+0

我是一箇舊的Flash開發者:),但我從來不知道你的智能方式將數字轉換成阿拉伯數字。總是有新東西要學。 –

0

有沒有神奇的顯示阿拉伯語格式當前日期和時間方法來做到這一點,你已經創建了一個格式化函數。這樣的事情:

var now:Date = new Date() 

trace(formatDate(now.toDateString())); 

function formatDate(dateStr:String) 
{ 
    var dateParts:Array = dateStr.split(" "); 
    var dayName:String = getDayName(dateParts[0]); 
    var monthName:String = getMonthName(dateParts[1]); 
    var day:String = dateParts[2]; 
    var year:String = dateParts[3]; 

    return year + " " + monthName + " " + day + " " + dayName; 
} 

function getMonthName(month:String):String 
{ 
    switch (month) 
    { 
     case "Jan": return "يناير"; 
     case "Feb": return "فبراير"; 
     case "Mar": return "مارس"; 
     case "Apr": return "إبريل"; 
     case "May": return "مايو"; 
     case "Jun": return "يونيو"; 
     case "Jul": return "يوليو"; 
     case "Aug": return "أغسطس"; 
     case "Sep": return "سبتمبر"; 
     case "Oct": return "أكتوبر"; 
     case "Nov": return "نوفمبر"; 
     case "Dec": return "ديسمبر"; 
    } 

    return null; 
} 

function getDayName(day:String):String 
{ 
    switch (day) 
    { 
     case "Sat": return "السبت"; 
     case "Sun": return "الأحد"; 
     case "Mon": return "الإثنين"; 
     case "Tue": return "الثلاثاء"; 
     case "Wed": return "الأربعاء"; 
     case "Thu": return "الخميس"; 
     case "Fri": return "الجمعة"; 
    } 

    return null; 
} 

請注意,你不能讓數字以閃光燈的阿拉伯語出現,我知道什麼。如果您必須以阿拉伯數字顯示數字,您可以在數據庫中創建一個10幀的動畫片段,每幀保存1個阿拉伯數字圖像,並創建格式化功能,根據每個阿拉伯數字從庫中附加剪輯。

+0

是的,我是創建一個,非常感謝 –

1

這是我做的

var eng_num=["0","1","2","3","4","5","6","7","8","9"] 
var ara_num=["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"] 

function convert_arabic(str:String) 
{ 
var new_str="" 

for(var f=0;f<str.length;f++) 
{ 
    var temp=str.slice(f,f+1) 
    var xx:int=int(temp) 
    if(String(Number(temp)) == String(temp)) 
    { 
    for(var d=0;d<=eng_num.length;d++) 
    { 
     if(temp == eng_num[d]) 
     { 
      new_str+=ara_num[d] 
     } 

    } 
    } 
    else 
    { 
         new_str+=temp 

    } 
} 
return new_str 

}

0

Flash Player 10.1的加入創建DateTimeFormatter作爲flash.globalization包的一部分。它應該至少部分幫助你。

import flash.globalization.DateTimeFormatter; 

var d:Date = new Date(); 
// The locale for Jordan is "ar-JO" 
var dtf:DateTimeFormatter = new DateTimeFormatter("ar-JO", DateTimeStyle.LONG, DateTimeStyle.LONG); 
trace(dtf.format(d)); 

// Output on a PC running an English version of Windows: 
// 11 آب, 2013 01:57:06 م 

如果您使用TLF文本字段,則可以從右向左文本。但請注意,TLF已從當前版本的Flash Pro(Flash Pro CC 1.0)中刪除,並且不清楚是否/何時會有替換。

+0

非常感謝這個有用的代碼,但是我需要的是什麼也是阿拉伯數字,我解決了它:) –