Возможный дубликат:
Используйте пользовательский разделитель тысяч в C#
Я хочу, чтобы строковый формат форматировал мои числа следующим образом:
Input: 1000 Ouput: 1 000.00
Input: 10000 Output: 10 000.00
Input: 100000 Output: 100 000.00
Возможный дубликат:
Используйте пользовательский разделитель тысяч в C#
Я хочу, чтобы строковый формат форматировал мои числа следующим образом:
Input: 1000 Ouput: 1 000.00
Input: 10000 Output: 10 000.00
Input: 100000 Output: 100 000.00
Отлично работает, как вам не нужно дополнительное форматирование
String.Format("{0:# ###.00}", 40000);
output - "40 000.00"
String.Format("{0:# ###.00}", 400000);
output - "400 000.00"
String.Format("{0:# ###.00}", 4000);
output - "4 000.00"
Проверьте сообщение в блоге по этому поводу: Формат числа для отображения
Вы можете сделать это, используя класс NumberFormatInfo
. посмотрите пример кода.
NumberFormatInfo numberFormatInfo = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();
numberFormatInfo.NumberGroupSeparator = " ";
int a = 1000;
Console.WriteLine(a.ToString("n", numberFormatInfo)); // 1 000.00
Это будет работать
String.Format("{0:### ### ### ###.##}", 10000.00)
Результат:
" 10 000.00"
Вам нужно будет обрезать результат, чтобы удалить лишние пробелы.
Вот, друг:
var formatInfo = new NumberFormatInfo();
formatInfo.CurrencyGroupSeparator = " ";
formatInfo.CurrencySymbol = string.Empty;
Console.WriteLine(1000.ToString("C", formatInfo));
Console.WriteLine(10000.ToString("C", formatInfo));
Console.WriteLine(100000.ToString("C", formatInfo));
Предоставление ввода представляет собой целое число, которое вы можете использовать.
input.ToString("F");
РЕДАКТИРОВАТЬ: мой плохой, не видел пробелов в форматировании, думал, что это только для десятичных значений
Еще один быстрый способ, возможно, не самый лучший, — преобразовать его в строку валюты, удалить символ валюты впереди и заменить «,» на «.»
e.g.
input.ToString( "C" );
input.Replace( "," , "." );
input.Remove( 0, 1 ); //or the amount of characters in currency symbol if more than one