我有以下功能,並且我無法更改double
類型的參數。如何在不失去精度的情況下使用double作爲函數參數?
double latitude = coordinate.x;
double longitude = coordinate.y;
createEPoint(latitude, longitude));
的瓦爾經度和緯度有大量的小數(35.94777225005756),我需要保持它的精度。我知道我可以使用BigDecimal或其他類,但正如我所說我不能修改createEPoint(double lat, double lon)
的參數。
現在,當我得到EPoint的參數時,經緯度值自動舍入,你有什麼想法來避免這種情況並保持數字的精度?
那麼,如果雙失去精度,那麼除了改變參數的類型,你不能做太多的事情。 – Thomas
這就是@Deprecated註解派上用場的時候。所以考慮重載你的方法。 –
如果您必須接受雙打,那麼已經太晚了。有沒有什麼神奇的方式來獲得一個雙精度比它進來時更精確。 – khelwood