草庐IT

long-double

全部标签

java - int vs long 的迭代速度

我有以下两个程序:longstartTime=System.currentTimeMillis();for(inti=0;i和longstartTime=System.currentTimeMillis();for(longi=0;i注意:唯一的区别是循环变量的类型(int和long)。当我运行它时,无论N的值如何,第一个程序始终在0到16毫秒之间打印。第二个需要更长的时间。对于N==Integer.MAX_VALUE,它在我的机器上运行大约1800毫秒。运行时间似乎在N中或多或少呈线性。这是为什么呢?我想JIT编译器将int循环优化到死。并且有充分的理由,因为显然它什么都不做。但为什

java - 将字符串解析为 Double.NaN

我想让用户编辑一个包含双数据的字段。我想允许Double.NaN(使值无效)。是否有一种通用方法(预定义字符串)从方法Double.valueOf(String)解析为Double.NaN而无需在后台检查它?有一个特殊的字符,看起来像一个带有问号的菱形(在HTML中),它的作用类似于NaN,但是-好吧-用户不会在他们的键上找到它。 最佳答案 您可以将+NaN或-NaN或NaN传递给valueOf()并让它返回一个南。documentation给出了完整的细节。 关于java-将字符串解析

java - 无法将 java.lang.String 类型的属性值转换为所需的类型 double

每当我在文本框中输入一个空字符串并尝试保存它时,我都会遇到这个错误我遇到了这个错误:Failedtoconvertpropertyvalueoftypejava.lang.StringtorequiredtypedoubleforpropertycustomerAcctSetting.maxAllowableAmount;nestedexceptionisjava.lang.IllegalArgumentException:Cannotconvertvalueoftype[java.lang.String]torequiredtype[double]forpropertymaxAllo

java - 使用 int 调用 setProperty 但 getProperty 返回 Long on google app engine persistent storage

当将此代码与DatastoreService一起使用时,我得到ClassCastExceptionLongacnnotbecasttointegerinfromEntity。这是正常行为吗?(我在使用eclipse的google插件在本地计算机上调试时出现此行为)classUserData{privateint_integerval=0;privateString_stringval="";publicEntitygetEntity(){Entityret=newEntity("User",key);ret.setProperty("property1",_integerval);re

java - 使用 long 的字符串 CharAt 方法

我想在一个非常大的字符串的特定位置找到字符。但是我无法使用charAt()方法,因为范围超出了int的范围。对此有什么调整吗? 最佳答案 在Java中,字符串由字符数组支持。数组的理论大小受限于int的最大值,因此不可能有超过231-1个字符开头的字符串。要克服这个问题,您可以创建自己的字符串类,使用多个数组或字符串作为存储。 关于java-使用long的字符串CharAt方法,我们在StackOverflow上找到一个类似的问题: https://stack

java - "Double"与 CompletableFuture 的组合

我试图避免嵌套CompletableFuture当将2个独立的与BiFunction组合在一起时返回第三个。目前,使用thenCombine()不削减它://WhatIhavepublicCompletableFuture>doStuff(){CompletableFutureaFuture=makeSomeA();CompletableFuturebFuture=makeSomeB();CompletableFuture>cFuture=aFuture.thenCombine(bFuture,this::makeSomeC);returncFuture;}//WhatIwantpub

java - Long.reverse(long) 方法有什么用?

我在Long类中找到了一个方法publicstaticlongreverse(longi){..}这个方法有什么用? 最佳答案 来自DDJarticle:Whywouldyoureversetheorderofbitsina32-bitor64-bitvalue?Bitreversalcanbeusefulinavarietyofcontexts.It'susefulinimageprocessingforflippingablack-and-whiteimagetocreateamirrorimage.Toflipanimageh

java - 如何在 Java 中将 64 位宽度的二进制字符串转换为 long?

我想把一个64位宽的二进制字符串转成long,有一个静态方法:Long.parseLong(Strings,intradix)这样做,但它不适合我的情况。问题是我的二进制字符串是机器风格的longint。例如:1111111111111111111111111111111111111111111111111111111110000101代表-123,但是这个方法把它识别为一个巨大的正数,这让我很烦恼,我该如何解决这个问题?我必须编写一个函数来完成补码吗? 最佳答案 你可以使用BigIntegerpublicstaticvoidmai

java - 如何使 Java 格式成为 -3.2 而不是 -3.1999999999999953 的 double 格式?

我的应用正在生成double,其中Double.toString()生成“-3.1999999999999953”——而我希望它生成“-3.2”。我实际上是从JScience的Amount#getEstimatedValue()得到这些double的.我不想为精度设置任意位数,因为我不知道有多少位数是有效的,但我不希望它生成以“99999999.*”结尾的数字。如何在没有这个问题的情况下将double转换为字符串? 最佳答案 推荐方案BigDecimal.valueOf(hisDouble).toPlainString()在尝试解决

java - 将float和double转换为Java中的位和十六进制表示

如何获取double或float的单个位(或整个变量)?例如如果我有floata=0.5;我希望String等于:“00111111000000000000000000000000”或十六进制:“F000000” 最佳答案 对于Java,float在32位上像int,而double在64位上像long。找到这些数字的二进制表示,您需要:floata=0.5f;intbits=Float.floatToIntBits(a);String.format("%32s",Integer.toBinaryString(bits)).repla