草庐IT

Double-precision_floating-point_f

全部标签

java - 为什么在调用构造函数时将 int 隐式转换为 float 而不是 double?

我写了这段测试代码publicclassConstructorTestApplication{privatestaticStringresult;publicstaticvoidmain(String[]args){ConstructorTesttest1=newConstructorTest(0);System.out.println(result);}privatestaticclassConstructorTest{publicConstructorTest(doubleparam){result="doubleconstructorcalled!";}publicConstru

java - assertEquals(Double, Double) 和 assertEquals(double, double, delta) 之间的 Junit 区别

我有一个junit测试断言两个Double对象,具有以下内容:Assert.assertEquals(Doubleexpected,Doubleresult);这很好,然后我决定将其更改为使用原始double而不是它被弃用,除非您还提供delta。所以我想知道在这个assertEquals中使用Double对象或原始类型有什么区别?为什么使用没有增量的对象可以,但是不推荐使用没有增量的基元?Java是否在后台执行某些已考虑默认增量值的操作?谢谢。 最佳答案 没有assertmethodinJUnit带签名assertEquals(D

java - 在 Java 中 : is where a way to create a subarray that will point to a portion of a bigger array?

学习Java,请温柔一点。理想情况下,我需要创建一个字节数组,该字节数组将指向更大数组的一部分:byte[]big=newbyte[1000];//C-stylecodestartsload(file,big);byte[100]sub=big+200;//C-stylecodeends我知道这在Java中是不可能的,我想到了两种解决方法,包括:要么将big的一部分复制到sub中,然后遍历big。或者编写自己的类,该类将引用big+offset+size并通过使用big作为实际底层的访问器方法实现“子数组”数据结构。我要解决的任务是将文件加载到内存中,然后通过类获得对存储在文件中的记录

java - 从 java BigDecimal 转换为 double 时丢失精度

我正在使用一个完全基于double的应用程序,并且在一个将字符串解析为double的实用程序方法中遇到了问题。我找到了一个修复程序,其中使用BigDecimal进行转换解决了这个问题,但是当我将BigDecimal转换回double时又引发了另一个问题:我失去了几个精度位置。例如:importjava.math.BigDecimal;importjava.text.DecimalFormat;publicclasstest{publicstaticvoidmain(String[]args){Stringnum="299792.457999999984";BigDecimalval=n

java - 在 Apache Poi 3.7 中以特定格式在数字单元格中写入 Double 值

我需要使用特定格式在数字单元格中写入double值,我的意思是,生成的xls必须具有包含double值的数字单元格,例如:8,1。我正在尝试类似的东西:DecimalFormatdFormat=newDecimalFormat("##.#");dFormat.format(doubleValue);但是,由于格式化方法返回一个字符串,无论我是否将单元格创建为数字,它们始终表现为文本单元格。我在考虑两种选择:强制单元格表现为数字单元格。忘记DecimalFormat并使用Double类指定逗号作为小数点分隔符,但我不确定是否可行。有什么想法吗? 最佳答案

java - 科学计数法解释为 int 还是 float?

如果我使用科学记数法(例如1e9)在我的代码中硬编码一个数字,那么该数字的类型是什么(int、long、float、double..)?当有效数或指数是float时,显然不能是整数,但在上述情况下呢? 最佳答案 e使它成为浮点文字。来自JLS(§3.10.2.Floating-PointLiterals):Afloating-pointliteralisoftypefloatifitissuffixedwithanASCIIletterForf;otherwiseitstypeisdoubleanditcanoptionallybe

java - 将 double 转换为二进制表示?

我试图将double转换为其二进制表示,但使用此Long.toBinaryString(Double.doubleToRawLongBits(d))没有帮助,因为我有大量数字,Long不能不存储它们,即2^900。 最佳答案 Long.toBinaryString(Double.doubleToRawLongBits(d))似乎工作正常。System.out.println("0:0b"+Long.toBinaryString(Double.doubleToRawLongBits(0D)));System.out.println("

java - 使用 Comparators 帮助比较 float 成员变量

我能够很好地比较字符串,但想知道如何对float进行排序?getChange()返回一个字符串。我希望能够降序排序。我该怎么做?更新:packageorg.stocktwits.helper;importjava.util.Comparator;importorg.stocktwits.model.Quote;publicclassChangeComparatorimplementsComparator{publicintcompare(Quoteo1,Quoteo2){floatchange1=Float.valueOf(o1.getChange());floatchange2=Fl

java - 给定浮点值,从 double 到 float 的可能有损转换?

这个问题在这里已经有了答案:Whatdoes"possiblelossyconversion"meanandhowdoIfixit?(1个回答)whyfisplacedafterfloatvalues?(9个回答)关闭2年前。如果我没记错的话,“0.5”是十进制数;因此,使它成为一个浮点值。但为什么java告诉我它是double的?return语句被java检测为错误,说:“不兼容的类型:从double到float的可能有损转换”publicfloattypeDmgMultiplr(Stringtype,Stringtype2){if(type.equalsIgnoreCase("gr

java - 集合 <Double> 到 DoubleStream

这个问题在这里已经有了答案:HowdoIgetanIntStreamfromaList?(2个答案)关闭7年前。我正在寻找最优雅的方式来创建DoubleStream(用于使用总和、平均值等)来自List.目前我有这样的代码:Listdoubles=getListOfDoubles();doublesum=doubles.stream().mapToDouble(d->d).sum();也许有人可以建议更短的方法?