-2
存儲開方
我計算兩個數的歐氏距離,我有這樣的公式:在BigDecimal的
import java.lang.*;
import static java.lang.Math.pow;
import static java.lang.Math.sqrt;
public static void main(String[] args)
{
double x2 = 0.32061253;
double x1 = 0.25090585;
double y2 = 0.33407547;
double y1 = 0.30716705;
double distance = sqrt(pow(x2 - x1,2) + pow(y2 - y1,2));
System.out.println(distance);
}
當我試圖把它保存在一個雙變量(歐幾里得距離),我得到0.0當我打印它(可能是因爲數字有很多小數)。我嘗試使用BigDecimal格式保存它,但它似乎不工作。在這種情況下,我如何正確使用它,因爲sqrt
會返回一個雙精度?
發佈您的代碼,您的輸入,您的預期輸出,您的實際輸出。 –
期望的輸出是0.30104542160445247,實際輸出是0.0。代碼與我發佈的代碼非常相似,x2 x1 y2 y1都是雙精度(它們都有10位小數:1.4666362219) – user1823812
該帖子不是有效的Java代碼,並且沒有輸入的輸出無助於此。發佈代碼,輸入和輸出真的很複雜嗎? –