草庐IT

long-double

全部标签

java - 在 Java 中将 long 转换为 String 的有效方法

我一直在用longa=123456789;Stringb=a+"";将long值(或int)转换为String,或者从这个角度来看,将其视为String。我的问题是,这样做可以吗?有什么负面影响吗?使用String.valueOf()与Long.toString()有什么区别吗?谢谢 最佳答案 这样做是可以的,因为最近的JVM可能会将其减少为:Stringb=String.valueOf(a);至于负面,它不是好的Java编码风格,因为存在歧义。如果a为null,b="null"会怎样?还是会抛出NPE?您根据经验知道答案,但这对您

java - JTextField : How to set text on the left of JTextField when text too long

我有一个很长的String,我想在JTextField中显示它。如果String太长,它会显示String的右侧部分,而不是左侧部分,即使我使用setHorizo​​ntalAlignment(JTextField.LEFT)例如,如果我的String是"JTextFieldexample,thistextistoolong",它应该显示为...|----------------------||JTextFieldexample..||----------------------|但它显示为...|----------------------||thistextistoolong||-

java - 对 long 和 double 的大小感到困惑

这个问题在这里已经有了答案:Whatisthedifferencebetweenthefloatandintegerdatatypewhenthesizeisthesame?(3个答案)关闭3年前。看看Java(但在其他语言中可能相似或相同),long和double都使用8个字节来存储一个值。一个long用8个字节存储从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的长整数double使用8个字节来存储从-1.7E308到1.7E308的doublefloat,最多16位有效数字。我的问题是,如果两者都使用相同的字节数(8个字节

java - Float vs double Math Java

以下是否存在精度差异(假设a和b的值可以在不损失精度的情况下用float表示)。有花车:floata;floatb;doubleresult=1+a*b;double:doublea;doubleb;doubleresult=1+a*b; 最佳答案 简单的例子:floata=16777217;//Largestintexactlyrepresentableinafloat.floatb=16777217;System.out.println((double)(1+a*b));doublec=16777217;doubled=1677

java - 将对象列表转换为 Long 列表

我有一个类如下:Class1{privateClass2class2;...}我想将Class1列表转换为Class2::getId()列表,这是我尝试过的:Listclass2List=class1List.stream().map(Class1::getClass2).collect(Collectors.toList());Listclass2Ids=class2List.stream().map(Class2::getId).collect(Collectors.toList());有没有办法在一条指令中做到这一点? 最佳答案

java - keySet().toArray(new Double[0]) 是做什么的?

下面的返回是做什么的?我如何使用该值:privateMaptheLabels=newHashMap();publicDouble[]getTheLabels(){returntheLabels.keySet().toArray(newDouble[0]);}这是正确的吗?Double[]aD=theClassInQuestion.getTheLabels();提前致谢。胡志明 最佳答案 这是正确的,但是,除非theLabels为空,否则强制重新分配数组。这是一个替代方案:publicDouble[]getTheLabels(){re

java - Java中 double 乘法的准确性?

Java中double值的乘法运算符保证的精度是多少?例如,2.2*100是220.00000000000003,但220是双数。220.00000000000003是220之后的下一个双数。 最佳答案 乘法工作正常,但2.2不能精确表示为double。最接近的double是:2.199999999999999733(0x4001999999999999)2.200000000000000177(0x400199999999999a)某些软件会将后一个值打印为2.2,但这并不意味着它是准确的。这只是意味着它被视为“足够接近”。

Java Assert Double 是 NaN

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我试图断言我的替身是NaN。这是一个代码片段:privateDoublecalculateIt(Stringinput){...}assertEquals(Double.NaN,calculateIt("inputtext"));代码无法编译,Double.NaN被定义为原语publicstaticfinaldoubleNaN=0.0d/0.0;为了使断言有效,我用Double对象包装了N

Java Apache Spark : Long transformation chains result in quadratic time

我有一个使用ApacheSpark的Java程序。该程序最有趣的部分如下所示:longseed=System.nanoTime();JavaRDDannotated=documents.mapPartitionsWithIndex(newInitialAnnotater(seed),true);annotated.cache();for(intiter=0;itera.sum(b));//updateoverallcounts(*)seed=System.nanoTime();//copyoverallcountswhichCountChangerusestocomputeastoch

java - 将 double (或 float )转换为整数时会发生什么?

我正在练习一些简单的2D游戏编程,并提出了一个理论,即在动画期间(图像位置的实际变化最好用float计算)。我有一种感觉,如果你用整数移动图像,动画就不会那么流畅。在Java中,您似乎无法使用float绘制图像来为图像指定位置。但是显然,当您最初声明您的x和y时,您可以将它们声明为Double或Float,并且当涉及到实际绘制图像时,您必须转换他们到整数。就像我发现HERE:/***Drawthisentitytothegraphicscontextprovided**@paramgThegraphicscontextonwhichtodraw*/publicvoiddraw(Grap