5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407

Разделить число на разряды

28.09.2016, 14:35. Показов 4291. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Подскажите, как можно разбить число biginteger на разряды допустим число такого типа 1234567890000000..... необходимо сделать так чтоб выглядело 123 456 789 000 000 000...
И еще вопрос, как biginteger перевести в такую форму 1,2345Е120.
Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.09.2016, 14:35
Ответы с готовыми решениями:

Разделить число на тысячные разряды
Добрый вечер. У меня не срабатывает следующий код: function dgt(n: uint64): string; begin var d, s: string; d:=n.ToString; ...

Как разделить число на разряды?
def commas(N): digits=str(N) assert(digits.isdigit()) result ='' while digits: digits,last3=digits,digits result=(last3...

Разделить трехзначное число на разряды
Разделить трехзначное число на разряды нельзя использовать массив и циклы. Как можно реализовать решение?

5
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18057 / 14137 / 5364
Регистрация: 17.03.2014
Сообщений: 28,831
Записей в блоге: 1
28.09.2016, 14:45
_Faradey, точно так же и другие числовые типы - используя форматы N и E.
C#
1
2
3
BigInteger big = BigInteger.Parse("123456789000000000000000000");
string s1 = string.Format("{0:N0}", big); 
string s2 = string.Format("{0:E}", big);
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,630
28.09.2016, 15:02
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
using System.Numerics;
using System.Globalization;
 
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            NumberFormatInfo nfi = new CultureInfo("en-US", false).NumberFormat;
            BigInteger goodLong = 123456789000000;
            nfi.NumberGroupSeparator = " ";
            Console.WriteLine(goodLong.ToString("N", nfi));
            double longFromBigInteger;
 
            // Successful conversion using cast operator. 
            longFromBigInteger = (double)goodLong;
            Console.WriteLine("{0:E}", longFromBigInteger);
 
            Console.ReadKey();
        }
    }
}
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18057 / 14137 / 5364
Регистрация: 17.03.2014
Сообщений: 28,831
Записей в блоге: 1
28.09.2016, 15:12
Цитата Сообщение от afront Посмотреть сообщение
C#
1
2
NumberFormatInfo nfi = new CultureInfo("en-US", false).NumberFormat;
nfi.NumberGroupSeparator = " ";
Зачем менять настройки для en-US когда можно использовать ru-RU?
0
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
28.09.2016, 15:22  [ТС]
мгм... вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
using System.Threading;
using System.Globalization;
 
namespace Fact
{
    public partial class Factorial : Form
    {
        public Factorial()
        {
            InitializeComponent();
            Tb_time.Text = "0:0:0:0";
        }
        private void Btn_Eval_Click(object sender, EventArgs e)
        {
            int f = 0;
            f = Convert.ToInt32(Tb_In.Text);
            if (Tb_In.Text == string.Empty)
            {
                MessageBox.Show("Введите данные!");
                return;
            }
            System.Threading.Thread tdCalc = new System.Threading.Thread(threadCalc);
            tdCalc.IsBackground = true;
 
            tdCalc.Start();
            
        }
        private void threadCalc()
        {
            int count = Convert.ToInt32(Tb_In.Text);
            BigInteger result = Calc(count);
            BeginInvoke(new MethodInvoker(() =>
            {
                
                string s_1 = string.Format("{0:N0}", result); // Добавленные строки
                string s_2 = string.Format("{0:e}", result); // Добавленные строки
                Tb_Out.Text = result.ToString(s_1);
 
            }));
        }
        private BigInteger Calc(int count)
        {
            BeginInvoke(new MethodInvoker(() => {
                Btn_Eval.Enabled = false;
                p_Bar.Maximum = count;
            }));
            BigInteger result = 1;
            for (int i = 1; i < count; i++)
            {
                result += result * i;
                BeginInvoke(new MethodInvoker(() =>
                {
                    p_Bar.Value++;
                }
                ));
            }
            BeginInvoke(new MethodInvoker(() => {
                p_Bar.Value = 0;
                Btn_Eval.Enabled = true;
            }));
            
            return result;
            
        }
    }
}
Но при расчете выдает число типа 1234567788999000.....88999Е250
Можно ли как-то сделать так, чтоб было типа 1,2345Е250
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18057 / 14137 / 5364
Регистрация: 17.03.2014
Сообщений: 28,831
Записей в блоге: 1
28.09.2016, 15:42
Цитата Сообщение от _Faradey Посмотреть сообщение
C#
1
2
3
string s_1 = string.Format("{0:N0}", result); // Добавленные строки
string s_2 = string.Format("{0:e}", result); // Добавленные строки
Tb_Out.Text = result.ToString(s_1);
Зачем ты передаешь методу ToString(), который ожидает строку форматирования, уже отформатированную строку?

Цитата Сообщение от _Faradey Посмотреть сообщение
Но при расчете выдает число типа 1234567788999000.....88999Е250
Чему равна CultureInfo.CurrentCulture.Name на твоей машине?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.09.2016, 15:42
Помогаю со студенческими работами здесь

Разделить число взятое с Edit на разряды
Как Разделить число взятое с Edit на разряды? Чтоб в Edit ввели число 59856, в Label я мог показать 59 856

В 1-ом числе обнулить 3, 5, 7 разряды, результат разделить на 4. Полученное значение умножить на 2-е число
нужна помощь вот такое решить:

Дано число в двоичном виде 133. Разделить его на 16, занести в 1, 3, 7 разряды нули.
помогите пожалуйста написать программу по заданию: дано число в двоичном виде 133. разделить его на 16, занести в 1, 3, 7 разряды нули....

Как разделить числа на разряды?
Есть этот код, но не работает, подскажите, в чём проблема? &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;25000000&quot;...

Как разделить числа на разряды в input slider
Доброго времени, уважаемые форумчане! Подскажите такую штуку. Если простенький калькулятор - слайдер, все считается т.к. нужно, а вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru