-5

double以下に示すような変数があります

double var1 = 0;

そして、私は持っていValue = 123.25ます。

たとえばvar1 += Math.Round(123.25)、私は 123.0 を取得しています

したがって、以下に示すようなデータを取得する必要がありますか?

出力は次のようになります = 123

4

6 に答える 6

3

問題はデータではなく、文字列変換にあります。123.0 と 123の間に違いはありませんdouble...それらはまったく同じ値で、同じビットです。

したがって、double値自体に注目するのではなく、それをどのように使用しているかに注目する必要があります。たとえば、使用している書式パターンを変更したいだけかもしれません。

于 2013-02-05T11:45:54.863 に答える
0

使用方法:

(int)var1

その価値を示す必要がある場所はどこですか?

于 2013-02-05T11:47:11.723 に答える
0

あなたの質問に基づいています。整数値のみが必要な場合は、Math.Round() の結果を int 型に割り当てないのはなぜですか? それはあなたが望むものを手に入れるでしょう。

int x = (int)Math.Round(123.25);

最後の .0 が気に入らない理由がわかりませんか? 123.0 を保持する変数を出力すると、123 と表示されます。デバッガを使用している場合は 123.0 しか表示されません。値をどのように使用していますか?提供されたものがどれも役に立たない場合は、教えていただければ、より良い解決策を見つけることができます.

于 2013-02-05T11:47:12.887 に答える
0
int someOtherInt = Convert.ToInt32(var1);
于 2013-02-05T11:47:30.200 に答える
0

あなたはタイプと混同しています。doubleあなたはそれの音によってこの状況で使いたくない. 代わりに、を使用してintください。

int var1 = 0;
int var2 = (int)123.25;
int output = var1 + var2;

outputこの場合は 123 です。 にキャストするとint、 の必要がなくなりMath.Roundます。

于 2013-02-05T11:47:32.280 に答える
0

これを読むことを強くお勧めします: http://www.whathaveyoutried.com

その記事の提案に従えば、すぐに問題を解決するための助けを得ることができます.

于 2013-02-05T12:31:54.420 に答える