Есть ли собственный .NET способ поиска чисел в различных системах подсчета / заказа, языках и культурах.Например, у меня есть номера 1, 2 и 3. Если я хочу их на арабском языке, я могу получить их с помощью NumberInfo
, например,
Public Sub PrintNumbers()
Dim currentCI As CultureInfo = New CultureInfo("ar-LB")
Dim nfi As NumberFormatInfo = currentCI.NumberFormat
Dim nativeDigitList As String() = nfi.NativeDigits
For i = 1 To 3
System.Diagnostics.Debug.WriteLine(String.Format("{0}: {1}", i, nativeDigitList(i)))
Next
End Sub
, который печатает: 1: ١, 2: ٢, 3: 100
Это хорошее начало для того, что я ищу, но я ищу гораздо более полную систему производства собственных цифр (и других счетчиков) для других систем подсчета в языках /Culture.
Собственные цифры, как в .NET, используя тот же код для китайского языка ("zh-CN"), выдает 1: 1, 2: 2, 3: 3. Но я ищу 1: 一, 2: 二, 3: 三.Или даже китайский финансовый: 1: 壹, 2: 贰, 3: 叁.(Примечание: китайские образцы в упрощенном виде ).
В английском языке мы также используем римские цифры: 1: I, 2: II, 3: III.
Естьнечисловые системы подсчета, такие как 1: A, 2: B, 3: C на английском языке, ت ، ث на арабском языке или система Abjad на арабском языке: ، ج ، د.
I'mКонечно, есть много других способов рассчитывать на разные языки, сценарии и культуры.Массив NativeDigits
не предусматривает подсчета выше 9 и не предлагает другие системы подсчета культур / сценариев.
Поэтому вопрос: знаете ли вы какой-либо способ добиться этого в .NET, который явозможно, не смог найти или уже работал над проектом с открытым исходным кодом, который позволил бы мне указать культуру (например, «fa-IR»), число (например, «49») и систему подсчета, поддерживаемую этим.культура?
Так что, если бы это были "en-US", "27" и "abc-system", это дало бы мне "aa".