私はCIntの問題を遭遇し、doubleを整数に変換しました。CIntは一貫してDouble値を丸めません - 小数点以下の部分を削除するにはどうすればよいですか?
問題は以下の通りです:
CInt(10.5) 'Result is 10
CInt(10.51) 'Result it 11, but I expected 10...
私はInteger.Parse vs CIntについての質問で指摘(int) 10.51
は10
ようで、結果はちょうどいくつかの方法で丸みを帯びているC#スタイルの変換に慣れ。
しかし、私が必要とするのは、整数部分だけを取得し、分数部分を捨てることだけです。どのようにVB.NETでこの種の変換を行うことができますか?いくつかの研究の後、私はFix()
関数を使ってトリックを行うことができることを知っていますが、それが最良の選択ですか?
悪い:部分も0.50000000の丸めされる整数がダウンしている場合CINT(10.5)= 10が、CINT(11.5)= 12は、奇数のためにそれがアップ! – Martin