MQL4 및 MQL5에서 Digits()를 무시하고 숫자(따옴표 제외)의 쉼표 뒤 소수 자릿수 가져오기 - 페이지 11

 
multiplicator :
float는 ***입니다. 이 수레 때문에 몇 가지 문제가 있습니다.

프로그래밍을 위해 이미 정상적인 숫자를 만들 때 그렇지 않으면 여기에서 고통을 겪습니다.

정수와 소수 부분 으로 저장된 메모리에 소수를 만들 수도 있습니다.

float는 더 간단하고 double보다 정밀도(뒤의 숫자)가 적습니다.

프로그래밍을 위한 일반 숫자? )))) 분명히 십진수 유형을 원하지만 슬프게도 개발자는 (검색에 의한 관리자 Renat의 게시물) 새로운 유형이 없을 것이라고 모호하지 않게 말했습니다.

분수로 두 배로, 여기에 내가 한 일입니다 https://www.mql5.com/ru/forum/290279#comment_9396706

, 그러나 던지는 것이 흥미로울 때까지 여전히 +, -, *, / 연산자가 필요합니다.

Число в дробь (convert double to fraction)
Число в дробь (convert double to fraction)
  • 2018.11.16
  • www.mql5.com
Ищу способ преобразовать вещественное число в дробь, нагуглил исходник https://stackoverflow...
 
Igor Makanu :

float는 더 간단하고 double보다 정밀도(뒤의 숫자)가 적습니다.

프로그래밍을 위한 일반 숫자? )))) 분명히 십진수 유형을 원하지만 슬프게도 개발자는 (검색에 의한 관리자 Renat의 게시물) 새로운 유형이 없을 것이라고 모호하지 않게 말했습니다.

분수로 두 배로, 여기에 내가 한 일입니다 https://www.mql5.com/en/forum/290279#comment_9396706

, 그러나 던지는 것이 흥미로울 때까지 여전히 +, -, *, / 연산자가 필요합니다.

예, 십진수



또는 직접 개발하십시오. 숫자는 정수 부분과 소수 부분으로 메모리에 저장됩니다.
두 개의 정수 처럼.



2,147,483,647 2,147,483,647



메모리는 두 개의 정수를 취합니다. 8바이트.

 
multiplicator :

예, 십진수



또는 직접 개발하십시오. 숫자는 정수 부분과 소수 부분으로 메모리에 저장됩니다.
두 개의 정수 처럼.



2,147,483,647 2,147,483,647



메모리는 두 개의 정수를 취합니다. 8바이트.

이미 이중 이중 산술 표준이 있습니다.

https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format

Quadruple-precision floating-point format - Wikipedia
Quadruple-precision floating-point format - Wikipedia
  • en.wikipedia.org
This 128-bit quadruple precision is designed not only for applications requiring results in higher than double precision,[1] but also, as a primary function, to allow the computation of double precision results more reliably and accurately by minimising overflow and round-off errors in intermediate calculations and scratch variables. William...
 
Taras Slobodyanik :

이미 이중 이중 산술 표준이 있습니다.

https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format

오히려 제가 더블더블에서 벗어나고 싶은데 더블더블을 제안해주셨어요.

doubles는 숫자를 부정확한 형식으로 메모리에 저장합니다.
영상 을 주었다 .
 
multiplicator :
오히려 제가 더블더블에서 벗어나고 싶은데 더블더블을 제안해주셨어요.

doubles는 부정확한 방식으로 메모리에 숫자를 저장합니다.
영상 을 주었다 .

글쎄, 계산 속도와 호환성이 중요하지 않다면 예, 원하는대로 계산할 수 있습니다.
그러나 이 숫자를 어딘가에 사용해야 하는 즉시 모든 것이 이중으로, 부정확한 숫자로 다시 변환되어야 합니다.

 
Taras Slobodyanik :

글쎄, 계산 속도와 호환성이 중요하지 않다면 예, 원하는대로 계산할 수 있습니다.
그러나 이 숫자를 어딘가에 사용해야 하는 즉시 모든 것이 이중으로, 부정확한 숫자로 다시 변환되어야 합니다.

음, 십진수로 모든 것이 괜찮습니다. 어떻게 든 그들은 서로 나누어 정확한 형태로 저장됩니다.

 
multiplicator :

음, 십진수로 모든 것이 괜찮습니다. 어떻게 든 그들은 서로 나누어 정확한 형태로 저장됩니다.

음, 소수가 아니라 분수로

소수에서는 무한한 정확한 숫자를 기록하는 것이 불가능(불필요)하기 때문에 동일한 부정확성-약어에 동의해야 합니다.

 
multiplicator :

음, 십진수로 모든 것이 괜찮습니다. 어떻게 든 그들은 서로 나누어 정확한 형태로 저장됩니다.

로그, 정수가 아닌 숫자에 의한 지수 계산, 삼각법 사용, .... 타사 라이브러리, 표시기 사용 ... 모두 오류가 있습니다!
 
Aliaksandr Hryshyn :
로그, 정수가 아닌 숫자에 의한 지수 계산, 삼각법 사용, .... 타사 라이브러리, 표시기 사용 ... 모두 오류가 있습니다!
글쎄, 이진수보다 십진수로 작업하는 것이 어떻게 든 더 관례입니다.
그리고 당신은 이미 오류가 있을 수 있는 곳에 익숙합니다.
 

https://www.mql5.com/ru/forum/287618/page3#comment_9240442

이것은 아마도 최고의 솔루션일 것입니다. 이 방법은 40% 더 빠르게 작동합니다(어떤 이유로 mql이 주기적으로 느려짐).

 int d2( double x){
   if (x== NormalizeDouble (x, 6 ))
   {
     if (x== NormalizeDouble (x, 5 ))
     {    
       if (x== NormalizeDouble (x, 4 ))
       {
         if (x== NormalizeDouble (x, 3 ))
         {
           if (x== NormalizeDouble (x, 2 ))
           {
             if (x== NormalizeDouble (x, 1 ))
             {
               if (x== NormalizeDouble (x, 0 ))
               {
                 return 0 ;
               }
               return 1 ;
             }
             return 2 ;
           }
           return 3 ;
         }
         return 4 ;
       }
       return 5 ;
     }
     return 6 ;
   }
   return 7 ;
}
Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5
Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5
  • 2018.11.03
  • www.mql5.com
Думаю не у одного меня была редкая ситуация когда нужно было получить количество десятичных знаков после запятой, а функция Digits() работает тольк...