は、私はC++コードに変換する必要がありパスカル:TRUNC
var i : longint;
m : double;
begin
.....
i := trunc(m);
古いパスカルのコードを持っています。ここ
明白なことは、
double m;
int i;
.....
i = static_cast<int>(std::trunc(m));
を書くことです。しかし、ここでの問題は、C++のTRUNCはダブル返しながら、パスカルのTRUNCのリターンが
function trunc(
d: ValReal
):Int64;
整数よりもあります。 trunc(2.3)が1.999999999999 を返し、static_castが2の代わりに1になる可能性はありますか?はいの場合は、同じパスカルの動作を得るためにtruncを使わずにstatic_castを使うのは正しいですか?
i = static_cast<int>(m);
「round()」のようなサウンドですか? – trojanfoe
丸は最も近い整数を返します。あなたはstatic_cast(m)を提案するので、パスカルで私は –
ArmanHunanyan