NormalizeDoubleによるMT4での数値の丸め方 - ページ 10

 
Алексей Тарабанов:
1980年代前半、ノギンスクのプログラミング学校を卒業したアントニーナ・ロセバが、私の丁寧な指導のもとで仕事をしていた。整数への丸め誤魔化していた問題を、次のように解決した。int A = double B + 0.5

お話ありがとうございました。これで「int A = double B + 0.5」が解決しました。int A = (int)MathCeil(double B)です。

しかし、この場合の問題は、丸めずにカットする方法です。

 
lilita bogachkova:

お話ありがとうございました。これで「int A = double B + 0.5」が解決しました。int A = (int)MathCeil(double B)です。

しかしこの場合、いかに丸めずにカットするかということが問題になります。

丸めずにカットするのは簡単です(丸めステップ0.5で2倍を増やさない)。

あなたの構造と私の構造を速度で比較すると、あなたのは不正確です、すみません...。

 
Dmitry Fedoseev:

DoubleToStr(0.9999,3)=1.000

だから、結論を出してください。

3は何の関係があるんだ?BidとDigitsを使用しています。

何を言っているのかわからない。別のスレッドでは、3ページにわたっておしゃべりしていました。その切り方は、例えばあなたの例では、端数の文字数を知らないで、0とカウントしないことを証明し、右のように。

DoubleToStr(0.9999,4)

で、モード1文字

 
Алексей Тарабанов:

丸めずにトリミングするのは簡単で、丸めないだけです(丸めステップ0.5で2倍を増やさない)。

...

コード?

 
Vasyl Nosal:

int A =double B

心臓がドキドキしていませんか?

 
Vasyl Nosal:

3は何の関係があるんだ?BidとDigitsを使用しています。

何を言っているのかわからない。別のスレッドでは、3ページにわたっておしゃべりしていました。その切り方は、例えばあなたの例では、端数の文字数を知らないで、0とカウントしないことを証明し、右のように。

何を持ってきたんだか。指定された文字数まで切り捨てる感じです。
 
Алексей Тарабанов:

int A =double B

心臓がドキドキしていませんか?

このコードはすでにあるのでしょうか?

これはさらに良いNormalizeDouble(1.15-0.05,1) です。

 
Dmitry Fedoseev:
何を言っているのかわからない。決められた文字数までなら捨てるようです。
しています。しかし、doubleを端数の全数にわたって文字列に変換しています。
 
Vasyl Nosal:

このコードはすでにあるのでしょうか?

これはさらに良いNormalizeDouble(1.15-0.05,1) です。

そう、楽しいんです...。
 
Vasyl Nosal:

...

DoubleToStr(0.99999,4)

で、モード1文字

これはどうでしょう?

理由: