草庐IT

T_DOUBLE_ARROW

全部标签

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,

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 - "Double"与 CompletableFuture 的组合

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

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

java - 如何将 parseInt 用于 double ?

我的程序接收到一些输入(String)。输入很可能是double的形式,比如"1.5"。但我想将其转换为integer,这样我就可以得到1。首先,我尝试了这个:Integer.parseInt(someString);但它不起作用-我假设这是因为点.它无法解析它。所以我想也许Integer类可以从double创建一个integer。所以我决定创建一个double,然后将其设为int,如下所示:Integer.parseInt(Double.parseDouble(someString));但显然有nosuitablemethodfoundforparseInt(double)那么,你有

java - 从 ArrayList 转换为 double[] 时出错?

我有一个名为out的ArrayList,我需要将它转换为double[]。我在网上找到的例子说明了两件事:首先,尝试:double[]d=newdouble[out.size()];out.toArray(d);但是,这会产生错误(eclipse):ThemethodtoArray(T[])inthetypeListisnotapplicableforthearguments(double[]).我在StackOverflow上找到的第二个解决方案是:double[]dx=Arrays.copyOf(out.toArray(),out.toArray().length,double[]

java - Double.isNaN() 是如何工作的?

sunjdk实现如下所示:returnv!=v;谁能解释一下它是如何工作的? 最佳答案 NaN值不等于任何值(如果等式的一侧为NaN,则等式为假),因此NaN!=NaN。显然每个正常的double都等于自己 关于java-Double.isNaN()是如何工作的?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2678985/