例如:如果我有7.2828,我只想把2828作爲一個整數。我可以將double的浮動部分轉換爲整數(不使用字符串轉換)嗎?
0
A
回答
3
十進制是你的朋友?
轉換你的電話號碼爲十進制,然後做到這一點。
decimal d = (decimal)7.2828;
int val = decimal.GetBits(d - decimal.Truncate(d))[0];
小數點左右的整齊事情是它將val存儲爲int,然後只存儲小數點位置。
3
如果d
是原始值,請執行以下操作。
((int)(d * 10000)) % 10000
0
在C++中,使用double modf(double, double *)
:
double value;
double fractional_part;
double integer_part= modf(value, &fractional_part);
int fractional_part_as_integer= fractional_part * 10000; // insert appropriate scale here.
0
我不認爲你可以。大多數CPU不能將7.2828表示爲雙(IBM主機是例外)。原因在於它們代表雙打作爲2的冪的和。「7」部分很容易:1 + 2 + 4。分位比較難:0.25 + 0.0.03125 + 0,0009765625 ..... - 一個無限序列。出於實際原因,這個序列被截斷。由此產生的雙倍將接近7.2828。也許7.282800000000001245。這可能不適合(32位)整數。
相關問題
- 1. 將字符串轉換爲浮動logstash
- 2. 我可以使用C-preprocssor將整數轉換爲字符串嗎?
- 3. 不能字符串轉換爲浮動
- 4. 將字符串轉換爲浮動而不是圓整java
- 5. 將字符串轉換爲浮點數?
- 6. 將字符串轉換爲浮點數
- 7. 將字符串轉換爲浮點數
- 8. 將不帶分隔符的字符串轉換爲Double/CLLocationDegrees
- 9. 如何將double轉換爲字符串?
- 10. Java:將double轉換爲字符串
- 11. 將double轉換爲字符串1
- 12. Swift 3將Double轉換爲字符串
- 13. Swift將double轉換爲字符串
- 14. 將double轉換爲字符串C++?
- 15. 字符串浮動轉換?
- 16. TextEncoding可以轉換爲字符串嗎?
- 17. 將部分字符串轉換爲turbo C++中的整數
- 18. 熊貓:將字符串轉換爲使用函數浮動
- 19. 將字符串轉換爲javascript中的整數或浮點數
- 20. 將字符串轉換爲double,然後再將double轉換爲字符串而不丟失精度
- 21. 將double轉換爲C#中的字符串分數
- 22. 不將字符串轉換爲整型
- 23. 將字符串轉換爲整數
- 24. 將字符串轉換爲整數
- 25. Python將字符串轉換爲整數?
- 26. 將字符串轉換爲整數C#
- 27. Swift:將字符串轉換爲整數
- 28. 將字符串轉換爲整數
- 29. 將字符串轉換爲整數
- 30. 將字符串轉換爲大整數?
我知道這是重複的(我在某些時候回答了它),但是你意識到7.28和7.0028最終都會以28的答案結束,對嗎?你不知道原來的浮動部分是什麼。 – 2009-08-18 16:00:08
你能澄清你如何處理這兩個數字:7.02828和7.000002828 – 2009-08-18 16:01:08
你想如何處理0.000000000125657542619998? – MartW 2009-08-18 16:20:39