MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 107
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
"." sınırlayıcısını kullanarak dizeyi ayrıştırın.
Fena fikir değil...
Hiçbir şeyi ayrıştırmanıza gerek yok. Sadece normal bir sayı görmek için dizeye çeviri. Hesaplamak için bir şey yapmanıza gerek yok.
Pekala, karşı konulmaz bir sapıklık arzusu varsa, o zaman dizeyi tekrar bir StringToDouble () sayısına çevirin ve gerekli sayıda karaktere, muhtemelen _Digits'e normalleştirme ile _Point ile çarpın.
İşin aslı şu ki, dizeyi 3 sayıya ayırmanız gerekiyor, onu sayıya dönüştüremezsiniz - dil için çok büyük bir sayı çıkıyor.
İşte böyle bir sayının bir örneği
Print ( "CalcY=" ,CalcY);
111111111111111104 numarasını yazdırır
Belki acelem var!
İşin aslı şu ki, dizeyi 3 sayıya ayırmanız gerekiyor, onu sayıya dönüştüremezsiniz - dil için çok büyük bir sayı çıkıyor.
İşte böyle bir sayının bir örneği
Print ( "CalcY=" ,CalcY);
111111111111111104 numarasını yazdırır
Peri masalları...
Kendin dene.
Print ( "CalcY=" ,CalcY);
long CalcZ= StringToInteger ( "111111111111111111" );
Print ( "CalcZ=" ,CalcZ);
double Test=CalcZ;
Print ( "Test=" ,Test);
Kendin dene.
Print ( "CalcY=" ,CalcY);
long CalcZ= StringToInteger ( "111111111111111111" );
Print ( "CalcZ=" ,CalcZ);
double Test=CalcZ;
Print ( "Test=" ,Test);
"Çok büyük bir sayı" dan bahsediyorum, ancak kod da yanlış, biçimden biçime çevirirsek, şöyle:
Print ( "CalcY=" , IntegerToString (CalcY));
Şikayet ettiğiniz şey çok sayıda değil, metin çıktısında bir aksaklık.
"çok büyük"ten bahsediyorum
Kesin hesaplamalar için çok büyük bir sayı - aksi takdirde sayının sonundaki hatayı nasıl açıklarsınız?
yukarıda eklendi.
Yani böyle bir dönüşümüm var - bir çizgiyi uzun sürebilirsin, ama virgülle hesaplamalar için iki katına ihtiyacım var.