草庐IT

double-submit-prevention

全部标签

java - 以不同顺序添加相同 double 时的不同结果

为什么相同的数字相加输出不同?publicclassTest{publicstaticvoidmain(Stringa[]){double[]x=newdouble[]{3.9,4.3,3.6,1.3,2.6};System.out.println(">>>>>>>"+sum(x));}publicstaticdoublesum(double[]d){doublesum=0;for(inti=0;i输出是:15.7如果我交换值double[]x=newdouble[]{2.6,3.9,4.3,3.6,1.3};我得到的输出为:15.700000000000001如何获得相同的输出?

c# - "Double-Checked Locking is Broken"是仅限 Java 的东西吗?

页面位于http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html说双重检查锁定在java中是有缺陷的。我只是想知道它是否也适用于其他语言(C#、Vb、C++等)我读过Doublecheckedlockingpattern:Brokenornot?,Isthisbrokendoublecheckedlocking?,Howtosolvethe"Double-CheckedLockingisBroken"DeclarationinJava?说实话,我不知道共同的共识是什么。有人说是的,它坏了其他人说不是。无

java - Double.valueOf(String s) 和 Double.ParseDouble(String s) 有什么区别?

根据我对文档的理解,ParseDouble函数生成了如下内容:DoubleparseDouble(Strings)throws...{returnnewDouble(Double.valueOf(s));} 最佳答案 逻辑相同,但Double.valueOf()的返回值返回堆分配的Double对象,而parseDouble返回原始double。您的代码示例不太正确。Java源代码如下:publicstaticdoubleparseDouble(Strings)throwsNumberFormatException{returnFlo

Java:使用 DecimalFormat 格式化 double 和整数,但保留没有小数点分隔符的整数

我正在尝试在Java程序中格式化一些数字。这些数字将是double和整数。在处理double时,我只想保留两位小数,但在处理整数时,我希望程序不影响它们。换句话说:double-输入14.0184849945double-输出14.01整数-输入13整数-输出13(not13.00)有没有办法在相同DecimalFormat实例中实现它?到目前为止,我的代码如下:DecimalFormatdf=newDecimalFormat("#,###,##0.00");DecimalFormatSymbolsotherSymbols=newDecimalFormatSymbols(Locale.

java - double 和 Double 比较的区别

我知道Double是一个包装类,它包装了double数字。今天,我看到了另一个主要区别:doublea=1.0;doubleb=1.0;Doublec=1.0;Doubled=1.0;System.out.println(a==b);//trueSystem.out.println(c==d);//false我太奇怪了!!!所以,如果我们使用Double,每次,我们都必须做这样的事情:privatestaticfinaldoubledelta=0.0001;System.out.println(Math.abs(c-d)我无法解释为什么Double直接比较会出错。请为我解释一下。

java - Mockito - 验证 double 值

我有一个名为method1的方法,它接受一个在myManager上调用的double值我传递给这个65.888*60。当我尝试验证这个时,我遇到了浮点问题。验证失败。它期望3953.28但3953.280029296875verify(myManager,times(1)).method1(65.888*60d);无论如何我可以让这个验证对浮点检查进行模糊检查。就像您使用assertEquals在末尾输入增量一样。谢谢 最佳答案 您可以捕获值(value),例如finalArgumentCaptorcaptor=ArgumentCa

java - 在 Java 中划分 double 时的奇怪行为

当我在Java中使用double将317除以219时,我得到1。例如:doubleb=317/219;System.out.println(b);输出是:1.这是因为它是循环小数吗?不得不使用BigDecimal来代替,这很烦人。 最佳答案 试试这个doubleb=317/219D;java中编码数字的默认类型是int,因此使用您所拥有的代码,java正在处理两个int数字,除法的结果将是然后也是int,它将截断小数部分以给出1的最终结果。然后将此int结果从int1转换为double1而不会出现编译器警告,因为它是widening

java - 如何提取double/BigDecimal的小数位

这个问题在这里已经有了答案:HowdoIgetwholeandfractionalpartsfromdoubleinJSP/Java?(18个答案)关闭9年前。假设我们有一个double值12345.6789(应该是动态的)现在的要求是拆分数字并得到小数位和小数位,这将是:doublenumber=12345.6789;intdecimal=12345;intfractional=6789;我算出了小数部分,但你能给我一些小数部分的提示吗?非常感谢。

java - 为什么 f(Double x) 比 f(double... x) 更匹配?

这个问题在这里已经有了答案:Whydoesthecompilerpreferanintoverloadtoavarargscharoverloadforachar?(4个答案)关闭5年前。今天我在为即将到来的Java考试学习,遇到了这个问题:LetAbeaclassdefinedasfollows:classA{publicvoidf(Doublex){System.out.println("A.f(Double)");}publicvoidf(double...x){System.out.println("A.f(double...)");}}Whatistheoutputprodu

java - 在java中将两个整数除以 double

我可以看出这是新程序员的常见问题,但是我没有成功地为我的代码实现任何解决方案。基本上我想除以w和v,这必须保存到一个double变量中。但是它打印[0.0,0.0,...,0.0]publicstaticdoubledensity(int[]w,int[]v){doubled=0;for(L=0;L 最佳答案 这里的这一行d=w[L]/v[L];发生在几个步骤中d=(int)w[L]/(int)v[L]d=(int)(w[L]/v[L])//theintegerresultiscalculatedd=(double)(int)(w[