NormalizeDouble kullanarak MT4'te sayıları yuvarlama - sayfa 8 123456789101112131415...17 Yeni yorum Vladimir Suslov 2016.02.25 19:13 #71 Dmitry Fedoseev : Yanlış. Çıkarın, iki ondalık basamağa ve ardından bire normalleştirin. peki dene :) Dmitry Fedoseev 2016.02.25 19:14 #72 Event : peki dene :) Ne denenmeli? Yani açık. Çıkarmanın sonucu normalleştirilmez, yani iki haneye normalleştirmezseniz bazen sürprizler olabilir. [Silindi] 2016.02.25 19:16 #73 Event : Ve ne gerekli? dizenin uzunluğunu bilmeniz mi gerekiyor? - dalları karıştırmadın mı? Kod mu? Benimki gibi 2'den fazla satır varsa, o zaman sizinki daha zor. Vladimir Suslov 2016.02.25 19:22 #74 Vasyl Nosal : Kod mu? Benimki gibi 2'den fazla satır varsa, o zaman sizin için daha zor. Yazıları dikkatli okumuyorsunuz. Kodu verdim - bir satırı var. [Silindi] 2016.02.25 20:05 #75 Event : Yazıları dikkatli okumuyorsunuz. Kodu verdim - bir satırı var. Güzel. Yani kodumda 1.15 normalize yazacağım :))))))))))))))))))))))))))))))))))) )))))))))))))))) Lilita Bogachkova 2016.02.25 20:12 #76 Vasyl Nosal : +++ Doğru, sayı 15 ondalık basamaktan uzunsa, yine de bir şekilde kesmeniz gerekir, aksi takdirde düzgün çalışmaz. //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { ushort Characters_delete= 15 ; for ( int i= 0 ;i<=Characters_delete;i++) { double v1= 1.123456789012345 ; v1=DoubleCrop(v1,i,Characters_delete); Print ( "v1 = " ,i, " = " , DoubleToString (v1,Characters_delete-i)); } Print ( "---" ); } //+------------------------------------------------------------------+ //| Double Crop function | //+------------------------------------------------------------------+ double DoubleCrop( double value, int ii, ushort Characters) { string data= "" ,resoult= "" ; data= DoubleToString (value,Characters); resoult= StringSubstr (data, 0 , StringLen (data)-ii); return StringToDouble (resoult); } //+------------------------------------------------------------------+ Dmitry Fedoseev 2016.02.25 20:32 #77 Event : peki dene :) Sıfır ve negatif sayılar yanlıştır. Olumlu, şaşırtıcı bir şekilde, sürpriz yok. Dmitry Fedoseev 2016.02.25 20:33 #78 Vasyl Nosal : extern ushort Characters_delete = 1 ; /////////////////////////////////////////// string data= DoubleToString ( Bid , Digits ); string resoult= StringSubstr (data, 0 , StringLen (data)-Characters_delete); heh. Bu yanlış bir yoldur. Tamamen yanlış sonuçlar. Vladimir Suslov 2016.02.25 20:43 #79 Dmitry Fedoseev : Sıfır ve negatif sayılar yanlıştır. Olumlu, şaşırtıcı bir şekilde, sürpriz yok. Negatif olanlar eklenmelidir (yuvarlama sırasında Normalize modülünde artarsa). Ve görünüşe göre sıfır ile yapacak bir şey yok. Bir teklife uygulanırsa, <= 0 olma olasılığı küçüktür... :) Алексей Тарабанов 2016.02.25 20:46 #80 Yuvarlama hakkında sekiz sayfa. 4. sınıfta almışlar sanki :( 123456789101112131415...17 Yeni yorum
Yanlış.
Çıkarın, iki ondalık basamağa ve ardından bire normalleştirin.
peki dene :)
peki dene :)
Ve ne gerekli?
dizenin uzunluğunu bilmeniz mi gerekiyor? - dalları karıştırmadın mı?
Kod mu?
Benimki gibi 2'den fazla satır varsa, o zaman sizinki daha zor.
Kod mu?
Benimki gibi 2'den fazla satır varsa, o zaman sizin için daha zor.
Yazıları dikkatli okumuyorsunuz.
Kodu verdim - bir satırı var.
Yazıları dikkatli okumuyorsunuz.
Kodu verdim - bir satırı var.
+++
Doğru, sayı 15 ondalık basamaktan uzunsa, yine de bir şekilde kesmeniz gerekir, aksi takdirde düzgün çalışmaz.
peki dene :)
Vasyl Nosal :
Sıfır ve negatif sayılar yanlıştır. Olumlu, şaşırtıcı bir şekilde, sürpriz yok.
Negatif olanlar eklenmelidir (yuvarlama sırasında Normalize modülünde artarsa).
Ve görünüşe göre sıfır ile yapacak bir şey yok.
Bir teklife uygulanırsa, <= 0 olma olasılığı küçüktür... :)