草庐IT

im2double

全部标签

java - 如何将 double 值四舍五入到小数点后 2 位?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:rounddoubletotwodecimalplacesinjava我想将double值四舍五入到小数点后2位。例如:我有双d=2;结果应该是result=2.00 最佳答案 Math.round(number*100.0)/100.0; 关于java-如何将double值四舍五入到小数点后2位?,我们在StackOverflow上找到一个类似的问题: https://stacko

java - 如何测试 double 是否为零?

我有一些这样的代码:classFoo{publicdoublex;}voidtest(){Foofoo=newFoo();//Isthisavalidwaytotestforzero?'x'hasn'tbeensettoanythingyet.if(foo.x==0){}foo.x=0.0;//Willthesametestbevalid?if(foo.x==0){}}我基本上是想避免将来出现被零除的异常。谢谢 最佳答案 类范围内的数值原语在未显式初始化时被初始化为零。本地范围内的数字原语(方法中的变量)必须显式初始化。如果您只担心

java - 如何使用特定语言环境在 Java 中将 String 转换为 Double?

我想将我作为字符串获得的一些数字转换为double,但这些数字不在美国标准语言环境中,而是在不同的语言环境中。我该怎么做? 最佳答案 试试java.text.NumberFormat.来自Javadocs:ToformatanumberforadifferentLocale,specifyitinthecalltogetInstance.NumberFormatnf=NumberFormat.getInstance(Locale.FRENCH);YoucanalsouseaNumberFormattoparsenumbers:myN

java - 如何从 double 中删除尾随零

这个问题在这里已经有了答案:Howtonicelyformatfloatingnumberstostringwithoutunnecessarydecimal0's(28个回答)关闭9年前。例如我需要5.0变成5,或者4.3000变成4.3。 最佳答案 你应该使用DecimalFormat("0.#")对于4.3000Doubleprice=4.3000;DecimalFormatformat=newDecimalFormat("0.#");System.out.println(format.format(price));输出是:4

java - float 或 double 的 NaN 和 Infinity 如何存储在内存中?

据我了解,java会将float作为具有以下属性的32位整数存储在内存中:第一位用于确定符号接下来的8位代表指数最后23位用于存储小数这没有为三种特殊情况留下多余的位:NaN正无穷负无穷我可以猜到负0可以用来存储其中一个。这些实际上是如何在内存中表示的? 最佳答案 Java指定float遵循IEEE754标准。这是它的存储方式:位0:符号位位1到11:指数第12至63位:分数现在,我用不同的double值执行了以下方法:publicstaticvoidprint(doubled){System.out.println(Long.to

java - ClassCastException,将 Integer 转换为 Double

ArrayListmarks=newArrayList();Doublesum=0.0;sum=((Double)marks.get(i));每次我尝试运行我的程序时,都会收到一个ClassCastException,指出:java.lang.Integercannotbecasttojava.lang.Double 最佳答案 我们可以将int强制转换为double但我们不能对包装类Integer和Double做同样的事情:inta=1;Integerb=1;//inboxing,requiresJava1.5+doublec=(d

java - 如何将字节数组转换为 double 并返回?

为了将字节数组转换为double,我发现了这个://convert8bytearraytodoubleintstart=0;//???inti=0;intlen=8;intcnt=0;byte[]tmp=newbyte[len];for(i=start;i但我找不到任何可以将double转换为字节数组的东西。 最佳答案 甚至更简单,importjava.nio.ByteBuffer;publicstaticbyte[]toByteArray(doublevalue){byte[]bytes=newbyte[8];ByteBuffer

java - 将 double 转换为 Int,向下舍入

如何将double值转换为int执行以下操作:DoubleIfx=4.97542.Converttointx=4.DoubleIfx=4.23544.Converttointx=4.也就是说,答案总是向下取整。 最佳答案 如果你明确地将castdouble转换为int,小数部分将被截断。例如:intx=(int)4.97542;//gives4onlyintx=(int)4.23544;//gives4only此外,您还可以使用Math.floor()方法对值进行四舍五入,以防您希望返回double值。

java - Java 的 `Double.MIN_NORMAL` 和 `Double.MIN_VALUE` 之间的区别?

Double.MIN_NORMAL和有什么区别?(在Java1.6中引入)和Double.MIN_VALUE? 最佳答案 答案可以在IEEEspecificationoffloatingpointrepresentation中找到。:Forthesingleformat,thedifferencebetweenanormalnumberandasubnormalnumberisthattheleadingbitofthesignificand(thebittoleftofthebinarypoint)ofanormalnumberi

java - 如何将模数用于浮点/ double ?

我正在为一个学校项目创建一个RPN计算器,但在使用模数运算符时遇到了问题。由于我们使用的是double据类型,因此模数不适用于float。例如,0.5%0.3应该返回0.2,但我得到了除以零的异常。指令说要使用fmod()。我到处寻找fmod(),包括javadoc,但我找不到。我开始认为这是我必须创建的一种方法?编辑:嗯,奇怪。我刚刚再次插入这些数字,它似乎工作正常……但以防万一。在使用浮点类型时,我是否需要注意在Java中使用mod运算符?我知道这样的事情不能在C++中完成(我认为)。 最佳答案 您第一次运行它时可能有错字。评估