簡體   English   中英

如何查找數字是舍入/整數還是浮點/雙精度

[英]How to find if number is round/integer or float/double

我正在處理大數,241 233,662581978748022我想知道662581978748022/241/233是舍入還是浮點數...如果我嘗試全部都是long long int

double var = 662581978748022/241/233 =即使它不是整數,它仍會輸出整數,例如xxx.0000,當我比較double var = 662581978748022/241/23 == long long int var2 = 662581978748022/241時,它仍會輸出xxx.0000 / 23當它不應該如何查找其舍入或浮點數時,它仍然是正確的?

當您執行x = integer-number (operator) integer-number ,右邊部分將被計算為整數。 不論x類型。

例:

double x;
x = 3/2;

現在x為“ 1.000…”。 因為3是整數,所以2是整數,因此該操作以整數形式執行。 然后將其轉換為= double

如果要以浮點/雙精度執行操作,則必須強制轉換至少一個正確的成員:

double x;
x = (double)3/2;

現在, x為“ 1.5”。

因此,您的double var=662581978748022/241/233 (如果數字是整數變量,則相同)被計算為整數值。 就像@Kevin所說的那樣,使用模(%)來獲取剩余的東西或使用浮點值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM