NormalizeDouble을 사용하여 MT4에서 숫자 반올림 - 페이지 9 1234567891011121314151617 새 코멘트 Lilita Bogachkova 2016.02.25 19:48 #81 Алексей Тарабанов : 반올림에 대한 8페이지. 초등학교 4학년 때 수강했던 것 같습니다. :( 포경수술에 관한 것입니다 :) Vladimir Suslov 2016.02.25 19:49 #82 Алексей Тарабанов : 반올림에 대한 8페이지. 초등학교 4학년 때 했던 것 같습니다. :( 전부는 아닙니다 ;| [삭제] 2016.02.25 19:55 #83 Dmitry Fedoseev : 헤. 이것은 잘못된 경로입니다. 완전히 잘못된 결과입니다. 예를 들어? [삭제] 2016.02.25 19:57 #84 lilita bogachkova : ++++ 사실, 숫자가 소수점 이하 15자리보다 길면 어쨌든 어떻게든 잘라야 합니다. 그렇지 않으면 올바르게 작동하지 않습니다. 배정밀도 부동 소수점 숫자는 15-17 십진수의 정밀도를 제공합니다. Lilita Bogachkova 2016.02.25 20:01 #85 Vasyl Nosal : 배정밀도 부동 소수점 숫자는 15-17 십진수의 정밀도를 제공합니다. //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { ushort Characters_delete= 14 ; 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); } //+------------------------------------------------------------------+ 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 0 = 1.12345678901235 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 1 = 1.1234567890123 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 2 = 1.123456789012 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 3 = 1.12345678901 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 4 = 1.1234567890 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 5 = 1.123456789 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 6 = 1.12345678 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 7 = 1.1234567 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 8 = 1.123456 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 9 = 1.12345 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 10 = 1.1234 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 11 = 1.123 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 12 = 1.12 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 13 = 1.1 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 14 = 1 ushort Characters_delete= 15 ; 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 0 = 1.123456789012345 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 1 = 1.12345678901234 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 2 = 1.1234567890123 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 3 = 1.123456789012 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 4 = 1.12345678901 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 5 = 1.1234567890 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 6 = 1.123456789 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 7 = 1.12345678 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 8 = 1.1234567 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 9 = 1.123456 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 10 = 1.12345 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 11 = 1.1234 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 12 = 1.123 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 13 = 1.12 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 14 = 1.1 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 15 = 1 ushort Characters_delete= 15 ; for ( int i= 0 ;i<=Characters_delete;i++) { double v1= 1.1234567890123456 ; v1=DoubleCrop(v1,i,Characters_delete); Print ( "v1 = " ,i, " = " , DoubleToString (v1,Characters_delete-i)); } Print ( "---" ); } 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 0 = 1.123456789012346 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 1 = 1.12345678901234 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 2 = 1.1234567890123 0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 3 = 1.123456789012 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 4 = 1.12345678901 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 5 = 1.1234567890 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 6 = 1.123456789 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 7 = 1.12345678 0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 8 = 1.1234567 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 9 = 1.123456 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 10 = 1.12345 0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 11 = 1.1234 0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 12 = 1.123 0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 13 = 1.12 0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 14 = 1.1 0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 15 = 1 Rounding numbers in MT4 [Archive!] Pure mathematics, physics, [아카이브] 순수수학, 물리학, 화학 [삭제] 2016.02.25 20:03 #86 lilita bogachkova : 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 0 = 1.12345678901235 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 1 = 1.1234567890123 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 2 = 1.123456789012 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 3 = 1.12345678901 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 4 = 1.1234567890 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 5 = 1.123456789 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 6 = 1.12345678 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 7 = 1.1234567 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 8 = 1.123456 0 21:59:20.485 ! 테스트 GBPUSDbc,H1: v1 = 9 = 1.12345 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 10 = 1.1234 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 11 = 1.123 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 12 = 1.12 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 13 = 1.1 0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 14 = 1 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 0 = 1.123456789012345 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 1 = 1.12345678901234 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 2 = 1.1234567890123 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 3 = 1.123456789012 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 4 = 1.12345678901 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 5 = 1.1234567890 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 6 = 1.123456789 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 7 = 1.12345678 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 8 = 1.1234567 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 9 = 1.123456 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 10 = 1.12345 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 11 = 1.1234 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 12 = 1.123 0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 13 = 1.12 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 14 = 1.1 0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 15 = 1 그리고? [삭제] 2016.02.25 20:09 #87 Vasyl Nosal : 그리고? string data= DoubleToString ( 1.123456789012345 , 15 ); int lenth= StringLen (data); data= StringSubstr (data, 0 ,lenth); Alert (data); 2016.02.25 22:06:56.781 prob EURUSD,H1: 경고: 1.123456789012345 나는 17자 이하의 더블 홀드를 버렸습니다. 또 무엇이 필요합니까? Алексей Тарабанов 2016.02.25 20:12 #88 lilita bogachkova : 포경수술에 관한 것입니다 :) 지난 세기의 80년대 초반, Noginsk 프로그래밍 대학을 졸업한 Antonina Ivanovna Loseva는 나의 엄격한 지도하에 일했습니다. 다음은 정수로 반올림하는 문제를 해결한 방법입니다. int A = double B + 0.5 Dmitry Fedoseev 2016.02.25 20:16 #89 Vasyl Nosal : 예를 들어? DoubleToStr(0.9999,3)=1.000 따라서 자신의 결론을 도출하십시오. Lilita Bogachkova 2016.02.25 20:17 #90 Vasyl Nosal : 2016.02.25 22:06:56.781 prob EURUSD,H1: 경고: 1.123456789012345 나는 17자 이하의 더블 홀드를 버렸습니다. 또 무엇이 필요합니까? 14번 을 시도하고 이 결과가 나온 이유를 설명하십시오. void OnStart () { ushort Characters_delete= 14 ; for ( int i= 0 ;i<=Characters_delete;i++) { double v1= 1.0 / 1.1 ; v1=DoubleCrop(v1,i,Characters_delete); Print ( "v1 = " ,i, " = " , DoubleToString (v1,Characters_delete-i)); } Print ( "---" ); } 0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 0 = 0.90909090909091 0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 1 = 0.9090909090909 0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 2 = 0.909090909090 0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 3 = 0.90909090909 0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 4 = 0.9090909090 0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 5 = 0.909090909 0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 6 = 0.90909090 0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 7 = 0.9090909 0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 8 = 0.909090 0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 9 = 0.90909 0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 10 = 0.9090 0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 11 = 0.909 0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 12 = 0.90 0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 13 = 0.9 0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 14 = 0 Rounding numbers in MT4 [Archive!] Pure mathematics, physics, [아카이브] 순수수학, 물리학, 화학 1234567891011121314151617 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
반올림에 대한 8페이지. 초등학교 4학년 때 수강했던 것 같습니다. :(
반올림에 대한 8페이지. 초등학교 4학년 때 했던 것 같습니다. :(
헤. 이것은 잘못된 경로입니다. 완전히 잘못된 결과입니다.
++++
사실, 숫자가 소수점 이하 15자리보다 길면 어쨌든 어떻게든 잘라야 합니다. 그렇지 않으면 올바르게 작동하지 않습니다.
배정밀도 부동 소수점 숫자는 15-17 십진수의 정밀도를 제공합니다.
0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 14 = 1
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 0 = 1.123456789012345
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 1 = 1.12345678901234
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 2 = 1.1234567890123
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 3 = 1.123456789012
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 4 = 1.12345678901
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 5 = 1.1234567890
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 6 = 1.123456789
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 7 = 1.12345678
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 8 = 1.1234567
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 9 = 1.123456
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 10 = 1.12345
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 11 = 1.1234
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 12 = 1.123
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 13 = 1.12
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 14 = 1.1
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 15 = 1
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 0 = 1.123456789012346
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 1 = 1.12345678901234
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 2 = 1.1234567890123
0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 3 = 1.123456789012
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 4 = 1.12345678901
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 5 = 1.1234567890
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 6 = 1.123456789
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 7 = 1.12345678
0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 8 = 1.1234567
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 9 = 1.123456
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 10 = 1.12345
0 22:02:48.826 ! 테스트 GBPUSDbc,H1: v1 = 11 = 1.1234
0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 12 = 1.123
0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 13 = 1.12
0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 14 = 1.1
0 22:02:48.826 ! GBPUSDbc,H1 테스트: v1 = 15 = 1
0 21:59:20.485 ! GBPUSDbc,H1 테스트: v1 = 14 = 1
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 0 = 1.123456789012345
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 1 = 1.12345678901234
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 2 = 1.1234567890123
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 3 = 1.123456789012
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 4 = 1.12345678901
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 5 = 1.1234567890
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 6 = 1.123456789
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 7 = 1.12345678
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 8 = 1.1234567
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 9 = 1.123456
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 10 = 1.12345
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 11 = 1.1234
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 12 = 1.123
0 22:01:25.346 ! 테스트 GBPUSDbc,H1: v1 = 13 = 1.12
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 14 = 1.1
0 22:01:25.346 ! GBPUSDbc,H1 테스트: v1 = 15 = 1
그리고?
2016.02.25 22:06:56.781 prob EURUSD,H1: 경고: 1.123456789012345
나는 17자 이하의 더블 홀드를 버렸습니다. 또 무엇이 필요합니까?
포경수술에 관한 것입니다 :)
예를 들어?
DoubleToStr(0.9999,3)=1.000
따라서 자신의 결론을 도출하십시오.
2016.02.25 22:06:56.781 prob EURUSD,H1: 경고: 1.123456789012345
나는 17자 이하의 더블 홀드를 버렸습니다. 또 무엇이 필요합니까?
14번 을 시도하고 이 결과가 나온 이유를 설명하십시오.
0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 0 = 0.90909090909091
0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 1 = 0.9090909090909
0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 2 = 0.909090909090
0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 3 = 0.90909090909
0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 4 = 0.9090909090
0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 5 = 0.909090909
0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 6 = 0.90909090
0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 7 = 0.9090909
0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 8 = 0.909090
0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 9 = 0.90909
0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 10 = 0.9090
0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 11 = 0.909
0 22:15:05.379 ! 테스트 GBPUSDbc,H1: v1 = 12 = 0.90
0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 13 = 0.9
0 22:15:05.379 ! GBPUSDbc,H1 테스트: v1 = 14 = 0