草庐IT

T_DOUBLE_ARROW

全部标签

java - 在 Java ME 中将 double 舍入到小数点后 5 位

如何在不使用DecimalFormat的情况下将double四舍五入到小数点后5位? 最佳答案 您可以四舍五入到小数点后第五位,方法是将其乘以您的数字,使其成为小数点后第一位。然后进行正常的四舍五入,再次保留小数点后第五位。假设要舍入的值是一个名为x的double:doublefactor=1e5;//=1*10^5=100000.doubleresult=Math.round(x*factor)/factor;如果要四舍五入到小数点后6位,让factor为1e6,依此类推。 关于jav

java - Double.isFinite 实现细节 - 为什么是 DoubleConsts.MAX_VALUE 而不是 Double.MAX_VALUE?

我查看了Double.isFinite()的实现从java8开始就存在(因为我需要java7中的功能):publicstaticbooleanisFinite(doubled){returnMath.abs(d)其中DoubleConsts.MAX_VALUE是doublesun.misc.DoubleConsts.MAX_VALUE,其值为1.7976931348623157E308。这似乎相当于Double.MAX_VALUE,其定义为:publicstaticfinaldoubleMAX_VALUE=0x1.fffffffffffffP+1023;//1.797693134862

java - 在数组中查找并搜索 double 并返回其索引?这是数组元素交换方法吗?)

这是我的第一个问题。这2个创建方法问题是我参加的测验。创建一个方法,求一个半径,doubler。从2dcircles数组返回数组及其索引。如果找不到doubler,则返回{-1,-1}。**publicint[]voidfindCircleWithRadius(Circle[][]circles,doubler){for(inti=0;i使用findCircleWithRadius方法创建一个交换圆的方法。publicstaticvoidswapCircles(Circles[][]circles,doubler1,doubler2){Circleradius1=r1.findCirc

java - ASP .net C# Decimal 与 Java Double 之间的舍入不匹配

我正在将.NET代码转换为Java,遇到了精度不匹配的问题。.NET代码:privatedecimalroundToPrecision(decimalnumber,decimalroundPrecision){if(roundPrecision==0)returnnumber;decimalnumberDecimalMultiplier=Math.Round(number/roundPrecision,MidpointRounding.AwayFromZero);returnnumberDecimalMultiplier*roundPrecision;}在上面的代码中调用roundTo

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