我有以下方法將GPS座標作爲字符串並將它們轉換爲最多6個小數點的雙精度。現在我試圖從小數點後的第一位開始隨機化小數點。隨機化一個雙精度的小數部分
public void randomizeCoordinate(String latString, String lonString)
{
double lat = Double.parseDouble(latString);
double lon = Double.parseDouble(lonString);
DecimalFormat df = new DecimalFormat("#.######");
df.setRoundingMode(RoundingMode.HALF_EVEN);
for (Number n : Arrays.asList(lat, lon))
{
Double d = n.doubleValue();
System.out.println(df.format(d));
}
}
例如,如果我有2.34我要的隨機分配是這樣的2.493473或2.294847或2.346758
第一個小數點在這種情況下是從2.34 3只改變最大的一個數字。向上或向下隨機。前導小數點可以隨機更改爲任何內容。
這樣做的最好方法是什麼?
嗯,你在範圍-0.01 .. 0.01添加值以下。你最好解決這個問題。 – laune
修復了,謝謝。當然,我們的答案中任何一個都假定「領先」真的意味着「拖尾」。 – david