4
如何查找一個浮點數是否是另一個浮點數的倍數?查找一個浮點數是否是.NET中另一個浮點數的倍數
例如500.4是0.001的倍數?
double v = 500.4;
double multipleOf = 0.001;
double remainder = v % multipleOf;
// 0.000999999999966846
對於性能,我不希望將雙打轉換爲小數。鑑於浮點數學的不精確性,我該如何測試呢?
我想這將取決於您的多個定義 –
這不是一個有意義的問題。把所有東西都乘以1000,這樣你就可以使用像* int *或* long *這樣的整數類型。或者使用epsilon將其稱爲「足夠接近」。 –
如果您要乘以將值轉換爲整數,那麼如何找出雙精度值有多少? multipleOf * Math.Pow(10,?) –