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