Формат строки-что это такое? Как заполучить доступ к отформотированному?
От: nt2000  
Дата: 01.10.19 19:55
Оценка: -1
string a = "44444444";
   Console.WriteLine( a  );
   Console.WriteLine( a .Length );
            int b = int.Parse(a) ;
   Console.WriteLine(b  );
 
        string     s = string.Format( "{0:0,000}",б);
   Console.WriteLine( s );
   Console.WriteLine( s .Length );

//!!! дальше почему так?
            Console.WriteLine(s.Contains(" "));
            Console.WriteLine(s.Replace(' ', ',') );

            string[]c=s.Split(' ' );
            string.Join(',',c) ;
Re: Формат строки-что это такое? Как заполучить доступ к отформотированному?
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.10.19 03:42
Оценка:
Здравствуйте, nt2000, Вы писали:


N>
string a = "44444444";
N>   Console.WriteLine( a  );
N>   Console.WriteLine( a .Length );
N>            int b = int.Parse(a) ;
N>   Console.WriteLine(b  );
 
N>        string     s = string.Format( "{0:0,000}",б);
N>   Console.WriteLine( s );
N>   Console.WriteLine( s .Length );

N>//!!! дальше почему так?
N>            Console.WriteLine(s.Contains(" "));
N>            Console.WriteLine(s.Replace(' ', ',') );

N>            string[]c=s.Split(' ' );
N>            string.Join(',',c) ;

Вопрос непонятен.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: вот подробнее
От: nt2000  
Дата: 02.10.19 15:21
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>Вопрос непонятен.

a ceйчас?

string a = "44444444";
Console.WriteLine( a  );       //     44444444
Console.WriteLine( a .Length );//     8

int b = int.Parse(a) ;  
Console.WriteLine(b  );        //     44444444
 
string s = string.Format( "{0:0,000}",б);
Console.WriteLine( s );        //     44 444 444 
Console.WriteLine( s .Length );//     10 

//!!! дальше почему так?
Console.WriteLine(s.Contains(" "));//     False
Console.WriteLine(s.Contains(' '));//     False
Console.WriteLine(s.Replace(' ', ',') );//44 444 444

string[]c=s.Split(' ' );
Console.WriteLine( c.Length );        // 1
Console.WriteLine( string.Join(',',c)  ) ;//44 444 444









44 444 444
Re[3]: вот подробнее
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.10.19 15:48
Оценка:
Здравствуйте, nt2000, Вы писали:
N>Console.WriteLine( string.Join(',',c) ) ;//44 444 444[/cs]
Надо полагать, что в качестве разделителя групп разрядов у вас стоит не пробел.
Попробуйте вывести на консоль
Console.WriteLine("Delim: {0:x}", (int)s[2]);
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: вот подробнее
От: DenisCh Россия  
Дата: 02.10.19 17:30
Оценка:
Здравствуйте, nt2000, Вы писали:

n> S>Вопрос непонятен.

n> a ceйчас?

n> string[]c=s.Split(' ' );

n> Console.WriteLine( c.Length ); // 1
n> Console.WriteLine( string.Join(',',c) ) ;//44 444 444[/cs]
n> 44 444 444

Там не пробел, а скорее всего &nbps;
[url=https://github.com/abbat/avalon1.0.449[/url]
Re[4]: вот подробнее
От: nt2000  
Дата: 02.10.19 21:35
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, nt2000, Вы писали:


S>Надо полагать, что в качестве разделителя групп разрядов у вас стоит не пробел.

S>Попробуйте вывести на консоль
S>
S>Console.WriteLine("Delim: {0:x}", (int)s[2]);
S>


Delim: a0
Console.WriteLine(s.Contains("&nbps;")); // False
От: nt2000  
Дата: 02.10.19 21:48
Оценка:
Здравствуйте, DenisCh, Вы писали:

DC>Там не пробел, а скорее всего &nbps;


Наталкнули на такую идею:
Console.WriteLine(s.Contains(s.Substring(s.Length-4,1))); // Труе
Console.WriteLine(s.Replace(s.Substring(s.Length-4,1)[0],',') ); // 44,444,444 иэссс!!! спасибо
Отредактировано 02.10.2019 22:13 nt2000 . Предыдущая версия .
Re: Формат строки-что это такое? Как заполучить доступ к отформотированному?
От: okon  
Дата: 02.10.19 22:57
Оценка:
Здравствуйте, nt2000, Вы писали:


s.Contains(" ")

А с какой целью такой костыль планируется ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[5]: вот подробнее
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.10.19 02:39
Оценка:
Здравствуйте, nt2000, Вы писали:
N>Delim: a0
Ну вот, всё верно. В вашей локали разделителем разрядов настроен http://www.fileformat.info/info/unicode/char/00a0/index.htm, также известный как  
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Console.WriteLine(s.Contains("&nbps;")); // False
От: romangr Россия  
Дата: 03.10.19 05:52
Оценка:
Здравствуйте, nt2000, Вы писали:

N>Наталкнули на такую идею:

N>Console.WriteLine(s.Contains(s.Substring(s.Length-4,1))); // Труе
N>Console.WriteLine(s.Replace(s.Substring(s.Length-4,1)[0],',') ); // 44,444,444 иэссс!!! спасибо

Зачем все эти лишние приседания?

    var a = "44444444";
    var b = int.Parse(a);
    Console.WriteLine(b);

    var nfi = new NumberFormatInfo { NumberGroupSeparator = "," };
    var s = string.Format(nfi, "{0:0,000}", b);
    Console.WriteLine(s);
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: И как с ним обращаться?
От: nt2000  
Дата: 04.10.19 12:23
Оценка:
Здравствуйте, Sinclair, Вы писали:

N>>Delim: a0

S>... также известный как &nbsp;

"&nbps;" ?
Re[2]: Re[2]:
От: nt2000  
Дата: 04.10.19 12:49
Оценка:
Здравствуйте, okon, Вы писали:

O>s.Contains(" ")


O>А с какой целью такой костыль планируется ?


Да это просто показать вам что есть зримый пробел, а я его не могу отловить..

задача из интернета, где нужно было строку чисел разбить на тройки через запятые).

  вот так получилось c вашей помощью, если интересно
static string F(string s){

            if (s.Length < 4) return s;
            string d = ""/*,k=d*/;

            while (9 < s.Length )    {
    d += ","+ string.Format($"{int.Parse(s.Substring(s.Length-9, 9)):0,000}");
                s= s.Remove(s.Length - 9);
            }
s=(s.Length < 4?s:string.Format($"{int.Parse(  s    ):0,000}"))+d;
            return s.Replace(s.Substring(s.Length - 4, 1)[0], ',');
}
static void Main(string[] args)    {Console.WriteLine(F("3121333323455678842"));}

На подходе след-ая задача где нужно будет сказать сколько раз символ входит в строку.. буду искать соунт — где-то видел
Re[3]: не упростилось.. без прохода
От: nt2000  
Дата: 04.10.19 13:02
Оценка:
Здравствуйте, nt2000, Вы писали:

N>..вот так получилось ..

Cmотрю сам сейчас — фигня короче.. надо было тупо пройтись и получилось бы проще.. а я хотел одним махом
Re[2]: твой код работает a мой - нет
От: nt2000  
Дата: 04.10.19 13:22
Оценка:
Здравствуйте, romangr, Вы писали:

R>Зачем все эти лишние приседания?


R>
R>    var a = "44444444";
R>    var b = int.Parse(a);
R>    Console.WriteLine(b);

R>    var nfi = new NumberFormatInfo { NumberGroupSeparator = "," };
R>    var s = string.Format(nfi, "{0:0,000}", b);
R>    Console.WriteLine(s);
R>


  Почему-то тоже самое у меня не получается..
static string F(string s)        {
            if (s.Length < 4) return s;
 
            string d = ""/*,k=d*/;
            var nfi = new System.Globalization.NumberFormatInfo { NumberGroupSeparator = "," };
 
            while (9 < s.Length)    {
 
                d += "," + string.Format(nfi, $"{int.Parse(s.Substring(s.Length - 9, 9)):0,000}");
                s = s.Remove(s.Length - 9);
            }
 
   return (s.Length < 4 ? s : string.Format(nfi,$"{int.Parse(s):0,000}")) + d;
     }
static void Main(string[] args){Console.WriteLine(F("3121333323455678842"));}
Re[7]: И как с ним обращаться?
От: DenisCh Россия  
Дата: 04.10.19 18:07
Оценка:
Здравствуйте, nt2000, Вы писали:

n> N>>Delim: a0

n> S>... также известный как &nbsp;
n> "&nbps;" ?

Non-breakable space

&nbsp; неразрывный пробел
nbsp — это специальный символьный код html разметки, относящийся к escape последовательностям. При обработке этого стандартного кода любым браузером в тексте образуется НЕРАЗРЫВНЫЙ ПРОБЕЛ. Когда формируется, генерируется интернет страница у клиента этот символ вобще ни как не заметен.

[url=https://github.com/abbat/avalon1.0.449[/url]
Re[7]: И как с ним обращаться?
От: Sinclair Россия https://github.com/evilguest/
Дата: 07.10.19 03:47
Оценка:
Здравствуйте, nt2000, Вы писали:
N> "&nbps;" ?
Нет, &nbsp$.
Обращаться с ним не надо. Вы придумали себе какое-то непонятное упражнение, которое не имеет отношения к практическим задачам.
Отсюда все проблемы.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.