convert.ToString(C0)如何表现?

时间:2015-06-23 04:00:28

标签: c# .net

我有不同的场景。我需要输出,其中值必须以₹格式返回逗号分隔值,它在我的系统中执行,其中我有₹卢比符号。而在用户系统中,C0以逗号分隔值返回$ value,我不知道他的系统中是否有₹符号。任何人都可以建议。

PS。我在主题行中使用了表达式,我无法使用更多函数。我使用了convert.ToString(" C0")。

2 个答案:

答案 0 :(得分:1)

您可以强制搜索字符串中的任何货币符号,并将其更改为您想要的任何字符,例如:

string s = "$";
foreach (var c in s)
{
    var category = CharUnicodeInfo.GetUnicodeCategory(c);

    if (category == UnicodeCategory.CurrencySymbol)
    {
        //Force convert the char to what every character you want
    }
}

答案 1 :(得分:1)

您始终可以在应用程序中的某个位置设置线程的当前UI文化,然后在需要输出正确的货币符号时使用它。例如:

double amount = 101.12;
Thread.CurrentThread.CurrentUICulture = new CultureInfo("hi-IN");
Console.WriteLine(amount.ToString("C0", Thread.CurrentThread.CurrentUICulture));

如果问题恰好是关于运行的计算机上是否存在文化的问题,则此代码可以提供帮助:

bool cultureExists = false;
try
{
    CultureInfo cultureInfo = new CultureInfo("hi-IN");
    cultureExists = true;
}
catch
{
    // nothing here
}

如果您发现它不存在,那么您必须创建它(假设您拥有足以创建文化的机器权限)。如果您需要,可以使用以下链接:http://www.codeproject.com/Tips/988807/Net-custom-Culture-with-use-case