用西班牙语显示数字

时间:2014-05-14 08:13:31

标签: c# .net vb.net encoding character-encoding

我想在西方阿拉伯语中显示数字,如“0123456789”,无论我的本地窗口如何。我见过许多转换为东部阿拉伯语的方法,如“0123456789”

const UInt16 sh = 0x0660 - 0x0030;
string ConvertToEasternArabic(string value)
{
    System.Text.StringBuilder s = new System.Text.StringBuilder();
    String lst = value.ToString();
    foreach (char x in lst)
    {
        if (char.IsDigit(x))
        {
            UInt16 c = Convert.ToUInt16(x);
            c += sh;
            s.Append(Convert.ToChar(c));
        }
        else
            s.Append(x);
    }
    return s.ToString();
}

但我想要相反的

1 个答案:

答案 0 :(得分:0)

这很有趣。 NumberFormatInfo类具有NativeDigits属性。但是,MSDN says that

  

格式化或解析数值或日期和时间值时,仅使用基本拉丁数字0(U + 0030)到9(U + 0039)

这意味着无论使用何种窗口,本地string.Format()int.ToString()数字0-9都用于生成输出字符串。