Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 240

 
Herkese nazik davranın. Bir dize dizesini ("hepinize merhaba" diyelim) bir çift sayıya nasıl dönüştüreceğimi çözemediğim bir şey ve bunun tersi de double'dan string'e? Kodu hazır olan var mı?
 

Ve tabut az önce açıldı:

 StringToDouble ()
DoubleToString ()
            
 
Aleksei Stepanenko :

Ve tabut az önce açıldı:

Sorun şu ki, metin olarak girilen sayıyı (örneğin, "345.45") Double'a çevirmem gerekmiyor, ancak sayıyla ilgili olmayan herhangi bir metnin kendisini çevirmem gerekiyor. Örneğin başvururken

 StringToDouble ("Исходный_текст") на выходе будут нули.

Tersi de aynı. Elbette, dizenin her karakteri üzerinde yineleme yapabilirsiniz.

StringGetChar ( );

ve kodlarını Double'a ekleyin, ancak Double'den bir dize nasıl çözülür/geri alınır?


Peki başka seçenekler neler?

 
Yan Barmin :

Sorun şu ki, metin olarak girilen sayıyı (örneğin, "345.45") Double'a çevirmem gerekmiyor, ancak sayıyla ilgili olmayan herhangi bir metnin kendisini çevirmem gerekiyor. Örneğin başvururken

Tersi de aynı. Başka seçenekler var mı?

StringToCharArray

 
Yan Barmin :

Peki başka seçenekler neler?

Böyle bir dönüşümün anlamını anlamadım, bir hash toplamı almak ister misiniz? Ters şifre çözme ile ilgili sorunlar olacaktır. Dönüştürme sırasında bilgi miktarı azalırsa, geri dönüşü olmayan bir şekilde kaybedersiniz.

Burada hangi sayıyı görmek istersiniz:

 StringToDouble ( "Исходный_текст" )
 
Aleksei Stepanenko :

Böyle bir dönüşümün anlamını anlamadım, bir hash toplamı almak ister misiniz? Ters şifre çözme ile ilgili sorunlar olacaktır. Dönüştürme sırasında bilgi miktarı azalırsa, geri dönüşü olmayan bir şekilde kaybedersiniz.

Burada hangi sayıyı görmek istersiniz:

Muhtemelen bu:

 void OnStart ()
{
   uchar scr[];
   string InputText= "Исходный_текст" ;
   string Res= "" ;
   StringToCharArray (InputText,scr, 0 , StringLen (InputText));
     for ( int i= 0 ; i< ArraySize (scr); i++)
      Res+=scr[i];
     Print (Res); // 20024124523822823725123395242229234241242

}
 

Güzel ;)

Forumda bu şekilde sohbet edebilirsiniz. Tarih, siyaset hepsi ciddi ve kimse sizi sokağa atmayacak. İkiler, üçler, bir...

 
19423224222423523223344322342242342242553224523824023824822425532232228229255322272382262382402322422523224623224424022423623233
 
Şimdi okumak için bir kod çözücü yazmanız gerekiyor.
 
Aleksei Stepanenko :
Şimdi okumak için bir kod çözücü yazmanız gerekiyor.

Peki, bu bir dize ise, ek koda ihtiyacınız var, ancak dizi doğrudan

   uchar scr[];
   string InputText= "Исходный_текст" ;
   string Res= "" ;
   StringToCharArray (InputText,scr, 0 , StringLen (InputText));
     for ( int i= 0 ; i< ArraySize (scr); i++)
      Res+=scr[i];
   //  Print(Res);
   Print ( CharArrayToString (scr) );