First of all, Gujarati digits take the range of Unicode code points 0AE6 to 0AEF and have the same order than traditional Westen Arabic digits 0 to 9:
http://unicode.org/charts/PDF/U0A80.pdf[
^].
Therefore, you can, for example, convert from Arabic to Gujarati and back using a simple shift. To get a code point from .NET char, you can use these functions:
https://msdn.microsoft.com/en-us/library/z2ys180b%28v=vs.110%29.aspx[
^],
https://msdn.microsoft.com/en-us/library/system.char.convertfromutf32%28v=vs.110%29.aspx[
^].
Now, I advise the following scenario: don't try to do numeric arithmetic on those strings. Instead, develop two methods: parsing a Gujarati number into the numeric type your are interested in (say,
int
or
long
) and representing the number as a Gujarati numeral string. In other words, create two "Gujarati versions" of functions analogous to
int.Parse
(or
int.TryParse
) and
int.ToString
. When it's done, you can parse strings to number, do your addition (subtraction, multiplication) in numbers and then represent numbers as strings.
—SA