6

マラーティー語でプログラムを開発しています。その中で、実際の整数値を取得して、マラーティー語の Unicode で入力された数値を追加/検証したいと考えています。

たとえば、マラーティー語では次のようになります。

  • ४५ = 45
  • ९९ = 99

"४५"このマラーティー文字列を実際の整数値に変換するにはどうすればよい45ですか?

私はたくさんグーグルで検索しましたが、何も役に立ちませんでした。文字列を取得するために使用System.Text.Encoding.Unicode.GetString()してから解析しようとしましたが、ここでも失敗しました。

4

4 に答える 4

0

私は私の解決策を見つけました...次のコードは、指定されたマラーティー語の数字をそれに相当するラテン数字に変換します..
@Alexeiのおかげで、コードの一部を変更し、正常に動作しました..

 string ToLatinDigits(string nativeDigits)
    {
        int n = nativeDigits.Length;
        StringBuilder latinDigits = new StringBuilder(capacity: n);
        for (int i = 0; i < n; ++i)
        {
            if (char.IsDigit(nativeDigits, i))
            {
                latinDigits.Append(char.GetNumericValue(nativeDigits, i));
            }
            else if (nativeDigits[i].Equals('.') || nativeDigits[i].Equals('+') || nativeDigits[i].Equals('-'))
            {
                latinDigits.Append(nativeDigits[i]);
            }
            else
            {
                throw new Exception("Invalid Argument");
            }
        }
        return latinDigits.ToString();
    }

このメソッドは、+ と - の両方の数値に対して機能します。
よろしくグルプラサド

于 2013-05-20T04:32:08.787 に答える
0

Windows.Globalization.DecimalFormatterは、デーバナーガリー語 (マラーティー語で使用されるもの) を含む、ラテン語に加えて、さまざまな数値システムを解析します。

于 2013-05-20T15:09:44.907 に答える