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,?) –