2016-10-28 19 views
0

У меня есть десятичное число всегда в формате США, то есть с десятичной точкой. Но некоторые страны имеют запятую вместо десятичной точки.Формат десятичного числа

Это форматировать строку в текущей культуре:

string.Format("{0:F2} {1}", 100.0018, '€') 

Результат: 100,00 и имеет запятой вместо точки, как хотелось.

Есть ли какая-то функция для форматирования на столько десятичных точек, сколько это значение ввода, в моем случае 100,0018?

Я попытался с этим:

Decimal.TryParse("100.0018", System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.CurrentCulture, out value); 

но результат 10000 вместо 100,0018

+2

Вы должны указать 'CultureInfo.InvariantCulture' при разборе, если вы знаете * * он будет использовать' .' в качестве десятичного знака. –

+1

«Результат» '.Parse' - это число и _has no format_. У IT есть только формат, когда вы _display_ он, который полностью находится под вашим контролем. Вы говорите, что _input_ не разбирается правильно или что вы видите другой _output_? –

ответ

0

Это должно сделать трюк:

string.Format("{0:#,#.#####}", 100.0018) 
-1

вы можете использовать, если его заменить строка, иначе использующая формат будет работать

s = "100.0018".Replace(".", ",") 
0

Вы можете использовать NumberFormat:

class Program 
{ 
    static void Main(string[] args) 
    { 
     var brazil = new CultureInfo("pt-BR"); 
     var usa = new CultureInfo("en-US"); 

     Console.WriteLine(100.0018m.ToString(brazil.NumberFormat)); 
     Console.WriteLine(100.0018m.ToString(usa.NumberFormat)); 

     Console.ReadKey(); 
    } 
} 
0

Мое решение Vould быть: string.Format(new CultureInfo("en-US"), "{0:F2} {1}", 100.0018m, '€'); Результат: 100,00 €

1

Вы, вероятно, хотите что-то вроде этого:

string.Format("{0:0.00###############} {1}", 100.0018, '€') 

для того, чтобы иметь не менее две цифры после запятой:

100  -> 100.00 €  
100.0018 -> 100.0018 € 
0
string.Format("{0:0.00###############} {1}", 100.0018, '€'); 

Вы можете получить валюту с помощью CultureInfo.CreateSpecificCulture также

Смежные вопросы