我想將雙精度(例如價格爲7.90的價格)轉換爲無損整數!我正在製作一個處理金錢的程序,我必須將它們輸入爲雙精度,然後將它們轉換爲整數,以便我可以處理它們,例如,當我有7.90歐元時,我想將它轉換爲美分,它將顯示爲789美分,而不是790美元!請幫我:)在此先感謝將雙精度轉換爲整數
回答
More specificaly the problem is that if it was a double it would originaly save 59.999999 instead of 60
數據類型double變量不能夠準確地存儲一些值,60是這些值之一,所以你要麼一)使用不同的數據類型(浮點患有同樣的問題),或者b)在你的支票中使用寬容。
在你的情況你的變量顯示59.9999999僅僅是因爲它的最接近的數據類型double
可以得到60
@Magish所以我應該怎麼做才能將它保存爲60? –
@KritonGeorgiou爲什麼它是一個雙重類型開始? – Magisch
@Magish因爲練習要求我們要求雙倍的錢,比如0,1 0,5等等...... –
一個可能的解決方案:
不要使用浮點數的。計算方式不同於1 Euro = 100 * 0.01 Euro
,計算方法爲:1 Euro = 100 Cents
。如果您需要歐元,請以整數計算併除以100。
另一種可能性:
在計算大數額的錢,它不適合到一個整數(也許不是連成一個長的),你可以使用BigInteger
或BigDecimal
類。與金錢合作時,這是通常和更好的方法。精度和位數是任意的,但處理時間和內存使用率可能更高。
這就是我所做的!爲了能夠正確分割數字,我將它們轉換爲分。問題是它節省了60例如59 –
我不認爲你明白我的意思。在你的問題中,你仍然在談論「7.90歐元」,並且你把它們當作雙打。這不應該是可能的,因爲你不應該得到雙打結果。除此之外,我描述了兩種可能的解決方案,所以「這就是我所做的」似乎對我來說完全不可能。你嘗試過兩種解決方案嗎?請注意,第二個是通常和推薦的方法,正如我在我的回答中所述。 –
- 1. 將整數(長整數)轉換爲jsp中的雙精度值
- 2. 將雙精度轉換爲浮點數
- 3. 如何將char數組轉換爲整數或雙精度?
- 4. 無法將雙精度轉換爲雙精度
- 5. 從雙精度轉換爲單精度
- 6. 如何將雙精度轉換爲整數
- 7. 將整數轉換爲MIPS中的雙精度值
- 8. 將整數轉換爲XPath 1.0中的雙精度值
- 9. HSSFCell將整數轉換爲雙精度值
- 10. 將整數,雙精度型轉換爲Java中的字符串
- 11. Fortran:將雙精度複數轉換爲單精度
- 12. 如何將一堆整數轉換/轉換爲一個雙精度數組?
- 13. 將字符串轉換爲雙精度,
- 14. DirectShow - 將IGraphBuilder *轉換爲雙精度(C++)
- 15. 如何將char *轉換爲雙精度?
- 16. C#,將Npoi.ICell轉換爲雙精度型
- 17. 將bstr_t轉換爲雙精度
- 18. 如何將DBNULL轉換爲雙精度?
- 19. 將時間轉換爲雙精度
- 20. 將字符串轉換爲雙精度
- 21. 將雙精度轉換爲QString
- 22. 將字符串轉換爲雙精度?
- 23. 將文本轉換爲雙精度
- 24. C#將日期轉換爲雙精度
- 25. 如何將雙精度JavaScript數組轉換爲雙精度數組。
- 26. GSON將整數視爲雙精度
- 27. 將整型轉換爲雙精度時遇到困難
- 28. 將雙數組轉換爲雙精度結構
- 29. 將字符串轉換爲雙精度 - 丟失精度
- 30. Objective C - 如何將雙精度轉換爲長精度
1)請創建一個完整的,最小的和可驗證的例子,2)請標記這是什麼編程語言 – Magisch
@Magisch我編輯它,並說哪個是主要問題 –
您可以使用英文變量名稱,至少例?即使僅爲自己編寫代碼,也建議使用英文名稱,因爲您幾乎可以永遠不會確定沒有人會閱讀它。 –