草庐IT

decimal-point

全部标签

java - 执行 "check point inside triangle"算法时出现错误

我遵循thisarticle中的算法1检查一个点是否在三角形内。这是我的代码://========================================================================================================================////Methods//========================================================================================================================//

java - 我应该使用 Point.x 还是 Point.getX()?

我有一个点。我正在尝试将x作为int。如果我使用Point.x,我将得到x作为int。但我的印象是我应该尽可能使用setter/getter(Whyusegettersandsetters?)。Point.getX()的问题是它返回一个double而不是一个整数。哪个更好,还是只是偏好?a还是b?Pointpoint=newPoint(5,5);inta=point.x;intb=(int)point.getX();我已阅读JavaPoint,differencebetweengetX()andpoint.x,但它并没有真正回答我的问题。或者至少我不明白答案。

BigDecimal 类中的 Java 运行时错误 "Non-terminating decimal expansion; no exact representable decimal result"

选择“正不当集成”或“负不当集成”时出现错误错误是线程“主”java.lang.ArithmeticException中的异常:非终止十进制扩展;没有可精确表示的小数结果。atjava.math.BigDecimal.divide(BigDecimal.java:1603)atSE_Project_2.calculate(SE_Project_2.java:55)atSE_Project_2.main(SE_Project_2.java:45)代码:importjava.math.BigDecimal;importjavax.swing.JOptionPane;publicclassS

java - 四舍五入小数点

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Roundadoubleto2significantfiguresafterdecimalpoint我正在尝试将十进制度数(23.1248)转换为分钟式度数(237'29.3")。这是我到目前为止所拥有的:doublea=23.1248;intdeg=(int)a;//givesmethedegreefloatb=(float)(a-deg);intmin=(int)(b*60);//givesmetheminutesdoublesec=(double)((c*60)-min);//givesmemyseco

java - Hibernate MS-SQL 错误的列类型发现 : decimal, 预期:float

注意:在问题末尾回答我在我的SQL数据库中创建了一些列,但显然之前没有创建float,因为我必须查找它。为了符合SQL,我创建了我的专栏:ALTERTABLE传感器ADDField1_Calibration_OffsetDECIMAL(4,3);每列乘以8。我在我的java代码中定义了这些:@Column(name="FIELD1_CALIBRATION_OFFSET")privateFloatfield1CalibrationOffset;产生错误的地方:PsDb.dbo.Sensor中列FIELD1_CALIBRATION_OFFSET的列类型错误。发现:十进制,预期:float最

Java 二维 : Moving a point P a certain distance closer to another point?

将Point2D.Doublex距离移近另一个Point2D.Double的最佳方法是什么?编辑:试图编辑,但因维护而停机。不,这不是作业我需要将飞机(A)移向跑道(C)的尽头并将其指向正确的方向(角度a)。alttexthttp://img246.imageshack.us/img246/9707/planec.png这是我目前所拥有的,但看起来很乱,做这样的事情通常的方法是什么?//coordinate=planecoordinate(Point2D.Double)//Distance=maxdistancetheplanecantravelinthisframeTrianglet

java - 如何正确显示最多两位小数(美分)的价格,包括 Java 中的尾随零?

Java中有一个关于四舍五入小数的好问题here.但我想知道如何在我的程序中包含尾随零以显示价格,例如:$1.50、$1.00简单的解决方案String.format("%.2g%n",0.912385);工作正常,但如果它位于最后一位小数,则省略尾随零。即使我只使用这样的表达式,我的程序也会出现这个问题:doubleprice=1.50;当我对不同的价格进行计算(相加、相乘等)时,结果主要显示如下:$2.5000000000000003因此,使用String.format可以很好地实现此目的,但它将上面的示例截断为$2.5有没有正确的方法来显示小数点后第二位的尾随零?或者如果计算的输

java - 为什么 java.awt.Point 提供设置和获取 double 值的方法,但将 x 和 y 存储为 int 值?

正如您在java.awt.Point的Oracle文档中看到的那样,x和y存储为int。但是,getX和getY返回double。虽然有一个setLocation方法接受2个double类型,但没有构造函数这样做。此外,无论如何,double都会在内部被截断为int。这有充分的理由吗?您可以通过使用采用double类型的方法来避免对setLocation进行强制转换,但是当您调用getX和getY。通过从getX和getY返回double,也存在对Point类精度的错误表述。 最佳答案 因为它继承自Graphics2D抽象类中使用的

java - Java : what's the point? 中的 Thread.interrupt()

这个问题在这里已经有了答案:JavalongrunningtaskThreadinterruptvscancelflag(5个答案)关闭9年前。我完全理解它的作用(至少我希望如此)。它并没有真正中断线程。它使Thread.isInterrupted()为真,代码应该检查是什么方法并停止线程本身。我的问题是,为什么我们甚至需要这种方法?它似乎完全可以通过声明一个boolean标志来说明是否应该停止这个线程来替换?没有任何Java教科书使用这个boolean标志作为应如何使用volatile关键字的最佳示例吗?我特别困惑,因为似乎没有办法“不中断”线程,因为Thread.resume()已

java - 并发 HashMap : what's the point in locking updates only?

我一直认为ConcurrentHashMap和类似的类(保持同步更新但不同步读取)做了一件非常有用且直观的事情:它们不锁定读取并锁定所有更新功能。像这样的策略确实可以使所有事情保持一致。但我仔细阅读了文档,并打开了ConcurrentHashMap的实现,据我所知,它不会在另一个线程执行更新时阻塞读取。如果一个线程开始执行putAll(hugeCollection)并且另一个线程同时重复contains(theSameObjectForAllCalls)那么第二个线程更有可能得到不同的结果,而putAll仍在工作。这是文档中的相关部分:Foraggregateoperationssuc