这个问题在这里已经有了答案:HowtoroundanumbertondecimalplacesinJava(39个回答)关闭5年前。我最近在处理数字,我遇到了一种情况,我想将double值设置为6位或4位,具体取决于存储在数据库中的值。例如,如果在数据库中将精度设置为4位,则输出必须如下所示,10.0000。我尝试使用DecimalFormat并使用字符串##.####,但每次都使用符号很烦人。有没有更好的办法,像下面这样说:Doublevalue=10.0;value.setPrecision(4); 最佳答案 你可以试试BigD
这个问题在这里已经有了答案:CastDoubletoIntegerinJava(19个回答)关闭7年前。可能这是个愚蠢的问题。我想去掉Double数字的小数部分。但我不能那样做。它显示了不兼容类型的错误。怎么办?Doubletoint一行转换....请帮忙谢谢 最佳答案 如果你真的应该使用Double而不是double,你甚至可以通过调用获取Double的int值:Doubled=newDouble(1.23);inti=d.intValue();PeterLawreys的回答已经描述了它。
这个问题在这里已经有了答案:CastDoubletoIntegerinJava(19个回答)关闭7年前。可能这是个愚蠢的问题。我想去掉Double数字的小数部分。但我不能那样做。它显示了不兼容类型的错误。怎么办?Doubletoint一行转换....请帮忙谢谢 最佳答案 如果你真的应该使用Double而不是double,你甚至可以通过调用获取Double的int值:Doubled=newDouble(1.23);inti=d.intValue();PeterLawreys的回答已经描述了它。
在Java中,我想将double转换为整数,我知道你是否这样做:doublex=1.5;inty=(int)x;你得到y=1。如果你这样做:inty=(int)Math.round(x);您可能会得到2。但是,我想知道:由于整数的双重表示有时看起来像1.9999999998或其他东西,是否有可能通过Math.round()创建的双重表示仍会导致截断数字,而不是我们正在寻找的四舍五入的数字(即:代码中的1而不是2)?(是的,我的意思是这样的:x是否有any值,其中y将显示一个截断而不是舍入表示x的结果?)如果是这样:有没有更好的方法可以将double整数转换为舍入整数而不会有截断的风险?
在Java中,我想将double转换为整数,我知道你是否这样做:doublex=1.5;inty=(int)x;你得到y=1。如果你这样做:inty=(int)Math.round(x);您可能会得到2。但是,我想知道:由于整数的双重表示有时看起来像1.9999999998或其他东西,是否有可能通过Math.round()创建的双重表示仍会导致截断数字,而不是我们正在寻找的四舍五入的数字(即:代码中的1而不是2)?(是的,我的意思是这样的:x是否有any值,其中y将显示一个截断而不是舍入表示x的结果?)如果是这样:有没有更好的方法可以将double整数转换为舍入整数而不会有截断的风险?
因为comma用作decimalseparator,此代码抛出NumberFormatException:Stringp="1,234";Doubled=Double.valueOf(p);System.out.println(d);有没有比解析"1,234"得到1.234更好的方法:p=p.replaceAll(",",".");? 最佳答案 使用java.text.NumberFormat:NumberFormatformat=NumberFormat.getInstance(Locale.FRANCE);Numbernumbe
因为comma用作decimalseparator,此代码抛出NumberFormatException:Stringp="1,234";Doubled=Double.valueOf(p);System.out.println(d);有没有比解析"1,234"得到1.234更好的方法:p=p.replaceAll(",",".");? 最佳答案 使用java.text.NumberFormat:NumberFormatformat=NumberFormat.getInstance(Locale.FRANCE);Numbernumbe
可以这样做吗?doublevariable;variable=5;/*thebelowshouldreturntrue,since5isanint.ifvariableweretoequal5.7,thenitwouldreturnfalse.*/if(variable==int){//dostuff}我知道代码可能不会这样,但是是怎么回事呢? 最佳答案 或者你可以使用模运算符:(d%1)==0 关于java-如何测试double是否为整数,我们在StackOverflow上找到一个类似
可以这样做吗?doublevariable;variable=5;/*thebelowshouldreturntrue,since5isanint.ifvariableweretoequal5.7,thenitwouldreturnfalse.*/if(variable==int){//dostuff}我知道代码可能不会这样,但是是怎么回事呢? 最佳答案 或者你可以使用模运算符:(d%1)==0 关于java-如何测试double是否为整数,我们在StackOverflow上找到一个类似
我只是在研究OCPJP问题,发现了这个奇怪的代码:publicstaticvoidmain(Stringa[]){System.out.println(Double.NaN==Double.NaN);System.out.println(Double.NaN!=Double.NaN);}当我运行代码时,我得到了:falsetrue当我们比较两个看起来相同的东西时,输出false怎么样?NaN是什么意思? 最佳答案 NaN表示“不是数字”。JavaLanguageSpecification(JLS)ThirdEditionsays:A