草庐IT

double_metaphone

全部标签

java - 我如何使用 Hamcrest 检查 double 组中的每个元素是否为另一个数组中的每个元素的 "close"?

我想比较两个double组。使用vanillaJUnit,我可以:double[]a=newdouble[]{1.0,2.0,3.0};double[]b=newdouble[]{1.0,2.0,3.0};assertEquals(a,b,1e-10);我想知道如何使用Hamcrest执行此操作,最好不要创建自定义匹配器(如果可能)。类似于对数组中的每个元素使用“关闭”匹配器。 最佳答案 如果将a更改为Double[],则可以执行assertThat(a,arrayCloseTo(b,.2));使用此辅助方法:publicstati

C语言字符串转换double等类型(sscanf,atof,strod)

C语言字符串转换double等类型1.使用atof2.使用sscanf3.使用strtod1.使用atofatof语法:#includedoubleatof(constchar*str);功能:将字符串str转换成一个双精度数值并返回结果。参数str必须以有效数字开头,但是允许以“E”或“e”除外的任意非数字字符结尾。例如:x=atof("42.0is_the_answer");x的值为42.0.例子://atof直接转换str字符串为double型并返回数据#include#includeintmain(){charp[]="123.4567";doublef;f=atof(p);print

将字节数组转换为 double 时出现 java.nio.BufferUnderflowException

我需要将bytearray转换为double。我正在使用doubledvalue=ByteBuffer.wrap(value).getDouble();但是在运行时我得到BufferUnderflowException异常Exceptioninthread"main"java.nio.BufferUnderflowExceptionatjava.nio.Buffer.nextGetIndex(Buffer.java:498)atjava.nio.HeapByteBuffer.getDouble(HeapByteBuffer.java:508)atMyclass.main(Myclass

Java 泛型 : List<Container<? >> = new LinkedList<Container<Double>>() 被禁止?

我怎么会用Java写Listlist=newLinkedList();但不是List>list=newLinkedList>();Container就像是publicclassContainer{...}这是因为我有一个接受List>的方法,我想使用Arrays.asList将参数传递给它:process(Arrays.asList(newContainer(),newContainer()));但是语言不允许这样做,因为它推断出Arrays.asList的类型成为List>,并且不能分配给List>.如果我在调用中添加一个字符串参数化容器,process(Arrays.asList(

java - 从 double 转换为 int 并不总是只删除小数部分

我正在试验我在这里找到的代码TheJavaSpecialists'Newsletter.publicclassMeaningOfLife{publicstaticStringfindOutWhatLifeIsAllAbout(){intmeaning=0;for(inti=0;i一旦我意识到compoundassignmentoperator存在隐式转换,“它打印什么”这个问题的答案就显而易见了+=.但它打印出类似:420000006或420000007,而不是(预期的)420000000(或“42”,删除尾随零后)。所以这表明从double到int的转换并不总是只是删除double的

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 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 - 将 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("