Displaying Arabic Number.
Well, most applications that I worked with was multilingual that supports English UI and Arabic UI.
And one of the major issue that we have faced is displaying Arabic numbers without the need of changing the regional settings of the PC.
So the code below will help you to display Arabic number without changing any regional settings.
Code 1: the HTML code:
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
<br />
<asp:Button ID="Button1" runat="server" Text="Convert to Arabic" />
</form>
Code 2: Code Behind
Protected Sub Button1_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Button1.Click
'Call
Function
Me.Label1.Text
= "Arabic Number : <b>"
& TranslateNumerals(Me.TextBox1.Text.Trim)
& "</b>"
End Sub
Public Shared Function
TranslateNumerals(ByVal sIn As String) As String
Dim enc
As New
System.Text.UTF8Encoding
Dim
utf8Decoder As System.Text.Decoder
utf8Decoder = enc.GetDecoder
Dim
sTranslated = New System.Text.StringBuilder
Dim
cTransChar(1) As Char
Dim
bytes() As Byte
= {217, 160}
' Start
Converting characters into Arabic mode.
Dim
aChars() As Char
= sIn.ToCharArray
For Each c As Char In aChars
If Char.IsDigit(c) Then
bytes(1) = 160 + CInt(Char.GetNumericValue(c))
utf8Decoder.GetChars(bytes, 0,
2, cTransChar, 0)
sTranslated.Append(cTransChar(0))
Else
sTranslated.Append(c)
End
If
Next
TranslateNumerals =
sTranslated.ToString
End Function
After you run the page, enter some English number and then click "Convert to Arabic" button to display the entered number in Arabic number mode.
Figure 1: Convert English Number into Arabic Number
I hope some one will find this very helpful
~ Abdulla AbdelHaq