Как задать уменьшение на 100 в строке произвольного числового формата?

Как задать уменьшение на 100 в строке произвольного числового формата?

Мне нужно уменьшить число на 100 (что-то вроде того, что делает оператор ', уменьшает его на 1000)

Как мне это сделать?

Мне нужно разделить число на 100, а не только запятую..

Если у меня есть номер 123456.78, мне нужен вывод 1234.5678...

3 ответа

Решение

Напишите простой метод

   public static string FormatNumberSpecialNumber(double inputString)
   {
       string tempString;
       tempString = string.Format("{0:#.#####}",(inputString / 100));
       return tempString;
   }

использование

var number = FormatNumberSpecialNumber(123456.78);

Вы делаете это не в том месте. Вы должны сделать это, прежде чем преобразовать в строку....

Если вы не форматируете с тысячами разделителей, вы можете обмануть и просто найти десятичную точку в строке и переместить ее на два знака вправо (учитывая, что это не 0,2345!)

Хрупкий, интуитивно понятный и непременно заставит вас выглядеть в будущем как полный противник. Я разорвал бы вас в рецензии на новый, если только вы не были защищены броней.

Первый , не является оператором C#, это неправильный термин. В этом контексте это просто разделитель.

Вот код, который я бы использовал для достижения эффекта, указанного в вашем примере.

var number = 123456.78
var formattedString = (number / 100.0).ToString();

РЕДАКТИРОВАТЬ:

Может быть возможно сделать это с пользовательской строкой формата (и без деления), но вам нужно будет создать пользовательскую культуру без десятичной точки. Я почти уверен, что такой культуры нет.

Другие вопросы по тегам