- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个模拟此视频中显示的风车动画的处理草图:3Blue1Brown Windmill Problem然而,我遇到了一个问题,我的浮点值在不应该的情况下被舍入为零。例如,我可以使用以下行: float ratio= (520-581)/(158-87)
这应该给出 -0.859 的结果,但它只给出 0.0。我知道由于 float 的工作原理, float 通常会存在一定程度的不准确性,但这似乎很极端。我做错了什么,该如何解决?
以下是感兴趣的人的完整代码片段:
void detectCollision(ArrayList<Point> points){
for(Point point : points){
int x1 = rotationalPoint[0];
int y1 = rotationalPoint[1];
int x2 = point.get()[0];
int y2 = point.get()[1];
//skips the point if it's the same as the pivot point
if(x2 != x1 && y2 != y1){
//calculate the angle from the pivot point to a given point
float theta = atan((y2-y1)/(x2-x1));
println("Theta Before: " + degrees(theta));
/* These two lines compensate for the fact that atan as a range from PI/2 to -PI/2
they give the atan function a range from 0 to 2PI
*/
if(x2-x1 < 0) theta += PI;
if(x2-x1 > 0 && y2-y1 < 0) theta = 2*PI-abs(theta);
//some lines to help debug
println("P1: " + x1 + ", " + y1 + " P2: " + x2 + ", " + y2);
println("Theta: " + degrees(theta) + " Angle: " + degrees(angle));
/*checks to see if the current line's angle is close to the angle from the pivot point to the given point
if it is then it will make the given point the new pivot point
*/
if(angle<theta+rotationRate/2 && angle > theta-rotationRate/2){
this.rotationalPoint[0] = x2;
this.rotationalPoint[1] = y2;
}
}
}
}
感谢您的帮助!
最佳答案
除法将整数值作为参数,因此,它执行不带浮点的“整数除法”。在进行除法之前将您的值解析为 float:
float ratio = (float)(520-581) / (float)(158-87);
System.out.println(ratio);
-0.85915494
祝你好运!
关于java - Java中如何防止四舍五入到零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58037028/
我有这个“科学应用程序”,其中 Single 值在显示在 UI 中之前应该四舍五入。根据this MSDN article ,由于“精度损失”,Math.Round(Double, Int32) 方法
这个问题类似于Chrome 37 calc rounding 但实际问题有点复杂,提供的解决方案不适用于这种情况: #outerDiv, #leftDiv, #middleDiv, #rightDiv
假设有一堆从 pnorm() 返回的数据,这样您就有了 .0003ish 和 .9999ish 之间的数字。 numbers <- round(rnorm(n = 10000, mean =
我想有效地将unsigneda整数除以2的任意幂,然后取整。所以我在数学上想要的是ceiling(p/q)0。在C语言中,不利用q受限域的Strawman实现可能类似于以下function1: /
我正在尝试获取 #value_box 的值以显示 100.5 但它一直在向上舍入。有谁知道我可以做些什么来让它显示小数位? jsfiddle //returns 101 $("#value_box
我有一段 JavaScript 代码 shipingcostnumber * parseInt(tax) / 100 + shipingcostnumber 返回数字为6655.866558,因此我将
我有一个关于 PostgreSQL 9.2 中 float 的新手问题。 是否有直接舍入 float 的函数,即不必先将数字转换为数字类型? 另外,我想知道是否有一个函数可以按任意度量单位舍入,例如最
这个问题已经有答案了: Rounding to nearest 100 (7 个回答) 已关闭10 年前。 我正在尝试将数字四舍五入到 100。 示例: 1340 should become 1400
我试图找出使用整数存储在列表中的其他两个数字之间的任何n在整数列表中找到最接近的值ROUNDED DOWN的最佳方法。在这种情况下,所有整数都将始终是无符号的,以防万一。 假设如下: 列表始终从0开始
我想将一个 BigDecimal 四舍五入到小数点后两位,但是当使用 round 方法时,它似乎没有双舍入: BigDecimal.new('43382.0249').round(2).to_s('F
我正在使用格式如下的财务数据进行计算: . 基本上,在我的程序中我遇到了一个浮点错误。例如,如果我有: 11.09 - (11.09 * 0.005) = 11.03455 我希望能够使用 11.03
有整型变量,电压单位为毫伏。 signed int voltage_mv = 134; //134mV 我有 2 段显示,我想显示百分之一伏特。 如何在一次操作中将毫伏转换为百分之一伏?没有 IF 语
这是我将数字四舍五入到两位小数的函数,但是当四舍五入的数字为 1.50 时,它似乎忽略尾随零并只返回 1.5 public static double roundOff(double number)
您好,我在将数字四舍五入到 -0 而不是 0 时遇到了问题 代码: 输出:-0 预期输出:0 我一直在寻找任何解决方案,但没有找到。 请解释并帮助我为什么它四舍五入为 -0 而不是 0?谢谢 最佳答
我正在使用 Java 的 Random 生成随机数:1.0、1.1 - 10 Random random = new Random(); return (double) ((random.nextIn
基本上,我有一个数字: 我基本上想做一些数学运算来创建这个数字 80。 如果数字是 62.7777777778,则数字将为 60。 我希望数字像这样四舍五入: 20, 40, 60, 80, 100
我希望显示来自 NSDate 对象的月数。 //Make Date Six Months In The Future NSCalendar *calendar = [[NSCalendar alloc
下面是一些小代码来说明我所看到的 float floater = 59.999f; DecimalFormat df = new DecimalFormat("00.0"); System.out.p
我现在开始使用 android 和 java,但遇到了问题。 I have a result x = 206.0548. And y = 206, both of type double How do
我有一个 ruby 散列数组,其中包含两个键,'tier' 和 'price'。对于给定的价格,我想退回等级。 这对于精确匹配来说已经足够简单了,但是我如何通过将我的输入值四舍五入到数组中的下一个
我是一名优秀的程序员,十分优秀!