草庐IT

double-quoted

全部标签

Java double 到具有特定精度的字符串

我想将double转换成String。我希望它的位数尽可能少,最多6位。所以我找到了String.format("%.6f",d),它将我的100.0转换为100.000000。最大精度工作正常,但我希望将其转换为100(最小精度)。您知道哪种方法是这样工作的吗? 最佳答案 使用DecimalFormat:newDecimalFormat("#.0#####").format(d)。这将生成具有1到6位十进制数字的数字。由于DecimalFormat将使用默认语言环境的符号,您可能需要提供要使用的符号://Formatusingen

java - float 和 double 的不同值

我不明白为什么float值与double值不同。从下面的示例中可以看出,对于相同的操作,float提供的结果与double提供的结果不同:publicclassTest{publicstaticvoidmain(String[]args){doublea=99999.8d;doubleb=99999.65d;System.out.println(a+b);floata2=99999.8f;floatb2=99999.65f;System.out.println(a2+b2);}}输出:199999.45199999.44您能解释一下float和double之间的区别吗?

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;我算出了小数部分,但你能给我一些小数部分的提示吗?非常感谢。