Размерное разделение числа: 11500.00 = 11 500.00

 

Есть ли не сложный метод перевести число в нужную размерность, вот так:

1000 = 1 000
120001.11 = 120 001.11 

Спасибо! 

 
Никто с таким не сталкивался? Как "это" по-умному называется, подскажите, (разделение целого числа?), поищу информацию.
 
WePlexus:
Никто с таким не сталкивался? Как "это" по-умному называется, подскажите, (разделение целого числа?), поищу информацию.

разрядность числа кажется

ЗЫ: уточнил, математика 5 класс, разделение на классы, тысячи миллионы, миллиарды, http://math-prosto.ru/?page=pages/bit_terms/digits_and_classes.php

Числа Класс миллионов (третий класс) Класс тысяч (второй класс) Класс единиц (первый класс)
сотни миллионов десятки миллионов единицы миллионов сотни тысяч десятки тысяч единицы тысяч сотни десятки единицы
8 345 216 - - 8 3 4 5 2 1 6
93 785 342 - 9 3 7 8 5 3 4 2
134 590 720 1 3 4 5 9 0 7 2 0
§ Разряды и классы. Класс единиц, тысяч и миллионов
  • Gurov Boris
  • math-prosto.ru
Для записи чисел люди придумали десять знаков, которые называются цифрами. Это: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. От количества знаков (цифр) в числе зависит его название. Число, состоящее из одного знака (цифры), называется однозначным. Наименьшее однозначное натуральное число - 1, наибольшее - 9. Число, состоящее из двух знаков (цифр...
 
WePlexus:
Никто с таким не сталкивался? Как "это" по-умному называется, подскажите, (разделение целого числа?), поищу информацию.
Это называется "Разделение триад"
 

Возможно кто-то уже пользуется своей функцией для разделения разрядности чисел - тому шапку вверх. :)

А кто, так же как и я, впервые сталкнулся с данной задачей, делюсю приятной функцией раздиляющей число (строку) на указанные разряды. Работает гибко: можно использовать любые разделители (" "), любые точки целых (1242.11) и выбирать нужную разрядность:

// РАЗРЯДНОСТЬ ЧИСЛА

string Divide (string Divide_Value, int Divide_Amount = 3, string Divide_Separator = " ", string Divide_Point = ".")
{
   string Divide_Result;
   
   for (int I = StringLen (Divide_Value) - 1, I2; I >= 0; I --)
   {
      if (I2 < Divide_Amount)
      {
         Divide_Result = StringSubstr (Divide_Value, I, 1) + Divide_Result;
         
         if (I < StringFind (Divide_Value, Divide_Point, 0))
            I2 ++;
      }
      else
      {
         Divide_Result = StringSubstr (Divide_Value, I, 1) + Divide_Separator + Divide_Result;
            
         I2 = 1;
      }
   }
   
   return (Divide_Result);
}

Divide ("15335342,,401", 3, " ", ",,") // 15 335 342,,401
 

Спасибо за помощь.

Толчок получил здесь.

 
WePlexus:

Спасибо за помощь.

Толчок получил здесь.

Откройте секрет. А оно зачем было надо?
 
Vinin:
Откройте секрет. А оно зачем было надо?

Делаю шаблон, в котором будет отображаться многая информация о состоянии счета, ордеров в и прочего. И для баланса (1000000 USD) красивее выводить 1 000 000 USD.

 
WePlexus:

Делаю шаблон, в котором будет отображаться многая информация о состоянии счета, ордеров в и прочего. И для баланса (1000000 USD) красивее выводить 1 000 000 USD.

А ещё красивее 1 000 000 000 000 000 и т.д $
 
WePlexus:

Делаю шаблон, в котором будет отображаться многая информация о состоянии счета, ордеров в и прочего. И для баланса (1000000 USD) красивее выводить 1 000 000 USD.

Согласитесь, что "выводить 1000000" красивее, чем писать на экране "1 000 000".

Вот такой каламбур ;)

 
Mikalas:
А ещё красивее 1 000 000 000 000 000 и т.д $
Красивее, спору нет, но погрешность велика :)