小数点以下の桁数を取得する必要があり、Digits()関数が 引用符でしか動作せず、しかもどこにも情報がない(少なくともこの記事を書いている時点では以前見つけたので、どんな解決策があるかを紹介したい)という珍しい状況に陥ったのは私だけではないと思うのですが、いかがでしょうか。
この機能は、ゼロの後に他の数字がない場合、ゼロを認識しないのだ。例えば、この関数は0.01が続くと2を返しますが、0.0000が続くと0を返します(つまり、4つのゼロを見ることができないということです)。したがって、この欠点を考慮して開発する必要があります。
MQL5では、double型の変数には、整数が代入されていてもいなくても、最後に自動的に0が代入されるらしいので、このコードを少し改良する必要がありました。このため、この関数が0を返したことはない。
例えば、2.4875という数字を与えると、この関数は4を返すとします。
どうすればいいのでしょうか?なんか意味不明(
小数点以下の桁数を取得する必要があり、Digits()関数が 引用符でしか動作せず、しかもどこにも情報がない、という珍しい状況に陥ったのは私だけではないでしょう(少なくともこの記事を書いている時点では以前見つけたので、どんな解決策があったかを紹介したいと思います)。
この機能は、ゼロの後に他の数字がない場合、ゼロを認識しないのだ。例えば、この関数は0.01が続くと2を返しますが、0.0000が続くと0を返します(つまり、4つのゼロを見ることができないのです)。だから、この欠点を考慮して開発を進めてください。
MQL4でのコード
MQL5でのコード
MQL5ではdouble型の変数は整数であろうとなかろうと、最後に自動的に0が代入されるらしいので、このコードを少し改良する必要があった。このため、この関数が0を返したことはない。
string string_value = (string)value;
読まないで)
仮に2.4875という数字を与えると、この関数は4を返します。
それをどうするのか?要領を得ないようです(
誰が何を必要としているかに応じて。例えば、相関指数をより簡単に計算するために整数が必要でした。
もう読まなくて結構です。)
ここでプログラマーにとって何がわからないのか)
しゃい
も良い解決策
良い解決策は、通常、適切に機能する
void OnStart() { double price = 500000000.0001; Print( price, ":", GetDigits( price )); }
結果:500000000.0001:8
小数点以下は何桁ですか?本当に8なのか?
良い解決策は、通常、適切に機能する
結果:500000000.0001:8
小数点以下は何桁ですか?本当に8個?
はい、8つです。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
小数点以下の桁数を取得する必要があり、Digits()関数が 引用符でしか動作せず、しかもどこにも情報がない(少なくともこの記事を書いている時点では、今まで見つけられなかったので、どんな解決策があるかを紹介したい)という珍しい状況に陥ったのは、私だけではないと思うんです。
それは、判明したように、平凡な単純な本質が、まだ1つの欠点を持っている - それらの後に他の数字がない場合、この関数は、ゼロを認識しません。例えば、この関数は0.01が続くと2を返しますが、0.0000が続くと0を返します(つまり、4つのゼロを見ることができないのです)。だから、この欠点を考慮して開発を進めてください。
MQL4でのコード
MQL5でのコード
MQL5ではdouble型の変数は整数であろうとなかろうと、最後に自動的に0が代入されるらしいので、このコードを少し改良する必要があった。このため、この関数が0を返したことはない