草庐IT

long-double

全部标签

java - 为什么从 int 到 Long 的隐式转换是不可能的?

我可以隐式地将int转换为long,并将long转换为Long。为什么不能将int隐式转换为Long?为什么Java不能在示例的最后一行进行隐式转换?inti=10;//OKlongprimitiveLong=i;//OKLongboxedLong=primitiveLong;//OKboxedLong=i;//Typemismatch:cannotconvertfrominttoLong 最佳答案 Long和Integer是对象。装箱/拆箱仅适用于基元。执行LongboxedLong=i就像LongboxedLong=newInt

java - 什么是 lub(null, Double)?

Table15.25-B在JLS版本8中说条件表达式的类型true?null:0.0是lub(null,Double),其中lub似乎是来自section4.10.4的一些疯狂不可理解的东西.这似乎与Double类型不同,或者他们可能只是写成Double,就像他们在表的其他地方所做的那样。不过,尚不清楚可能存在什么差异。我试图从第4.10.4节开始解决这个问题,但是当我到达关于的部分时Letlub(U1...Uk)be:Best(W1)&...&Best(Wr)他们好像在说这种类型是null和Double类型的交集类型,这毫无意义。什么是lub(null,Double)?具有此类型的条

java - Jaxb:global binding Double 类型转换使用 XMLAdapter

我有一个定义为xsd:double的元素。如果我尝试将一个值say285放入元素然后我将其编码,我得到285.0的输出......这很好。但是,如果我将一个值放入285292746,我得到2.85292746E8的输出当我编码(marshal)我喜欢这样的东西,使双输出不会转换为带十进制的科学记数法?基本上我想要285292746或2852292746.0000000java.lang.Double.toString()对某些值使用“计算机科学记数法”,这会产生xml问题。我知道给定值的双重表示很好。但事实上值是指数格式,我正在处理的系统接受我的XML但不知道如何处理指数值,这导致我的

java - 尝试将 double 值插入 Oracle 数据库时出现 SQLException

我必须开发一个小程序,将一些数据插入到Oracle数据库中。不幸的是,我在SQLStatement及其执行方面遇到了一些麻烦。这是我正在使用的代码:db.execute(String.format("INSERTINTOtopsVALUES(%d,'%s',%d,%f.00,'%s',TO_TIMESTAMP('%s','YYYY-MM-DDHH24:MI:SS.FF'))",item.getID(),item.getTitle(),this.elements,item.getSize(),item.getEntity(),timestamp.toString()));这是执行应该工作

java - 为什么 Gson 将 Integer 解析为 Double?

一个复杂的json字符串,我想将其转换为map,我有一个问题。请看这个简单的测试:publicclassTest{@SuppressWarnings("serial")publicstaticvoidmain(String[]args){MaphashMap=newHashMap();hashMap.put("data","{\"rowNum\":0,\"colNum\":2,\"text\":\"math\"}");MapdataMap=JsonUtil.getGson().fromJson(hashMap.get("data").toString(),newTypeToken>()

java - 比较 java 中的 Long 值

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Integer==intallowedinjava下面两个语句有什么区别Longl1=2L;if(l1==2)System.out.println("EQUAL");if(l1.longValue()==2)System.out.println("EQUAL");他们都给出相同的结果“EQUAL”。但我怀疑Long是对象。怎么相等?

java double free or corruption

这可能是个愚蠢的问题,但我在运行*.jar包时随机出现以下错误。有时程序运行完美,有时会中断,将其输出到控制台:***Errorin'java':doublefreeorcorruption(out):0x00007f665c04a830***=======Backtrace:=========/lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7f66c63d7a46]/usr/lib/libjnetpcap.so(Java_org_jnetpcap_nio_JMemoryReference_disposeNative0+0xa6)[0x7f66b

java - 在 for 循环中使用 Double.POSITIVE_INFINITY (Java)

以下代码将如何表现,尤其是当双计数器达到其极限((2-2^-52)·2^1023)时?for(doublei=0;i这段代码会按预期运行(永远循环)还是会在某个时候失败,为什么?谢谢。 最佳答案 在某些时候,i++将不再有任何效果,因为对于非常大的i值,连续的double值相距很远。因此这是一个无限循环。要证明double值i==i+1试试这个:for(doublei=1;;i*=2){if(i==i+1){System.out.println(i);break;}}打印9.007199254740992E15

java - 是否可以为 Set<Double>.contains() 设置精度?

假设我们有一个Set的实现.它包含以下值:[2.0,5.0,7.0].contains(2.0001d)在这种情况下返回false因为double值通过完全匹配进行比较。是否可以为booleancontains(Objecto)设置一些double?方法?如果不可能,除了将值存储在顺序集合中、遍历它并比较每个值之外,您可以建议什么解决方法? 最佳答案 Set.contains有一个基于相等的精确定义: Moreformally,returns true ifandonlyifthissetcontainsanelement e su

Java int += double 语法惊喜

这个问题在这里已经有了答案:Varyingbehaviorforpossiblelossofprecision(1个回答)WhydoesJavaperformimplicittypeconversionfromdoubletointegerwhenusingthe"plusequals"operator?[duplicate](2个答案)Whydon'tJava's+=,-=,*=,/=compoundassignmentoperatorsrequirecasting?(11个答案)关闭9年前。我遇到了以下令人惊讶的行:intx=7;x+=0.5;显然是合法的语法!添加后,x仍然是7,