草庐IT

double-elimination

全部标签

java - 如何比较Java中的 double 序列都是 "approximately equal"?

我在java中有一个返回double的方法,我想比较每次调用该方法时返回的每个double(比如5次),以便得出结论,返回的数字几乎相同每次。我该怎么做? 最佳答案 publicstaticbooleanalmostEqual(doublea,doubleb,doubleeps){returnMath.abs(a-b)其中eps是衡量平等的标准。 关于java-如何比较Java中的double序列都是"approximatelyequal"?,我们在StackOverflow上找到一个类

java - java中是否有截断 double 的函数?

是否有可用于将数字截断为任意小数位数的Java库函数?例如。SomeLibrary.truncate(1.575,2)=1.57谢谢 最佳答案 尝试BigDecimal的setScale像这样:publicstaticdoubleround(doubled,intdecimalPlace){BigDecimalbd=newBigDecimal(d);bd=bd.setScale(decimalPlace,BigDecimal.ROUND_HALF_UP);returnbd.doubleValue();}

java - 在java中使用double时如何删除整数中的 ".0"?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowdoIformatanumberinjava?我在使用Double时遇到问题。当结果为整数时,将显示为“.0”,如1.0、2.0。谁能帮我删除整数中的.0吗? 最佳答案 importjava.text.DecimalFormat;publicclassAsdf{publicstaticvoidmain(String[]args){DecimalFormatformat=newDecimalFormat();format.setDecimalSepar

Java 将两个 double[][] 与并行流相加

假设我有这两个矩阵:double[][]a=newdouble[2][2]a[0][0]=1a[0][1]=2a[1][0]=3a[1][1]=4double[][]b=newdouble[2][2]b[0][0]=1b[0][1]=2b[1][0]=3b[1][1]=4以传统方式,为了对这些矩阵求和,我会做一个嵌套的for循环:introws=a.length;intcols=a[0].length;double[][]res=newdouble[rows][cols];for(inti=0;i我对流API相当陌生,但我认为这非常适合与parallelStream一起使用,所以我的问

java - 如何找出字符串中包含的值是否为double

在Java中,我试图找出字符串中包含的值是否为double值? 最佳答案 booleanisDouble(Stringstr){try{Double.parseDouble(str);returntrue;}catch(NumberFormatExceptione){returnfalse;}} 关于java-如何找出字符串中包含的值是否为double,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

java - Java 中 Double.MIN_VALUE 是否大于零?

我在我的代码中发现了一个错误,它归结为比较Double(0.0)和Double.MIN_VALUE。本质上,以下返回false:System.out.println(0.0>Double.MIN_VALUE);这怎么可能? 最佳答案 根据javadocforDouble.MIN_VALUE,MIN_VALUE是:Aconstantholdingthesmallestpositivenonzerovalueoftypedouble所以Double.MIN_VALUE不是负数,它是正值,它与Double可以达到零(不为零)一样接近。

java - 如何将 double 值设置为 "non-value"

我在一个对象中有两个双数据元素。有时它们设置了适当的值,有时则没有。当接收到它们的值的表单字段未填充时,我想将它们设置为某个值,告诉我在其余代码中表单字段为空。我无法将值设置为null,因为这会产生错误,有什么方法可以将它们设为“未定义”。PS。我不仅不确定这是否可行,而且也可能没有意义。但是,如果在这种情况下有一些最佳实践,我会很想听听。 最佳答案 两个明显的选择:使用Double代替double。然后你可以使用null,但是你已经大大改变了所涉及的内存模式。使用“非数字”(NaN)值:doubled=5.5;System.out

java - 检查Java中的 double 是否无限

我正在为这个作业制作一个简单的计算器,Java在除以0时返回“Infinity”。当我得到无穷大时,我需要显示一些错误消息。问题是我不知道该怎么办doubleresult;result=4/0;//ifresult==infinitythensomemessage-needhelpwiththis 最佳答案 你可以使用Double.isInfinite(double)这里是doubledoc 关于java-检查Java中的double是否无限,我们在StackOverflow上找到一个类

java - 不同线程中的 DecimalFormat.format(double)

我必须在许多线程中并行打印许多格式化的十进制值。要格式化十进制值,我使用java.text.DecimalFormat由模式配置。我知道来自DecimalFormat的java文档的警告。:Decimalformatsaregenerallynotsynchronized.Itisrecommendedtocreateseparateformatinstancesforeachthread.Ifmultiplethreadsaccessaformatconcurrently,itmustbesynchronizedexternally.但我不知道这个警告是否适用于我的场景:我配置jav

java - 在java中将double与int进行比较是否有效?

Utilities.getDistance(uni,enemyuni)Utilities.getDistance返回double并且getAttackRange返回int。上面的代码是if语句的一部分,它必须是真的。那么比较有效吗?谢谢 最佳答案 是的,它是有效的-它会在执行比较之前将int提升为double。见JLSsection15.20.1(NumericalComparisonOperators)链接到JLSsection5.6.2(BinaryNumericPromotion).来自后者:Wideningprimitive