草庐IT

double-elimination

全部标签

java - 在 Java 中划分 double 时的奇怪行为

当我在Java中使用double将317除以219时,我得到1。例如:doubleb=317/219;System.out.println(b);输出是:1.这是因为它是循环小数吗?不得不使用BigDecimal来代替,这很烦人。 最佳答案 试试这个doubleb=317/219D;java中编码数字的默认类型是int,因此使用您所拥有的代码,java正在处理两个int数字,除法的结果将是然后也是int,它将截断小数部分以给出1的最终结果。然后将此int结果从int1转换为double1而不会出现编译器警告,因为它是widening

java - 如何提取double/BigDecimal的小数位

这个问题在这里已经有了答案:HowdoIgetwholeandfractionalpartsfromdoubleinJSP/Java?(18个答案)关闭9年前。假设我们有一个double值12345.6789(应该是动态的)现在的要求是拆分数字并得到小数位和小数位,这将是:doublenumber=12345.6789;intdecimal=12345;intfractional=6789;我算出了小数部分,但你能给我一些小数部分的提示吗?非常感谢。

java - 为什么 f(Double x) 比 f(double... x) 更匹配?

这个问题在这里已经有了答案:Whydoesthecompilerpreferanintoverloadtoavarargscharoverloadforachar?(4个答案)关闭5年前。今天我在为即将到来的Java考试学习,遇到了这个问题:LetAbeaclassdefinedasfollows:classA{publicvoidf(Doublex){System.out.println("A.f(Double)");}publicvoidf(double...x){System.out.println("A.f(double...)");}}Whatistheoutputprodu

java - 在java中将两个整数除以 double

我可以看出这是新程序员的常见问题,但是我没有成功地为我的代码实现任何解决方案。基本上我想除以w和v,这必须保存到一个double变量中。但是它打印[0.0,0.0,...,0.0]publicstaticdoubledensity(int[]w,int[]v){doubled=0;for(L=0;L 最佳答案 这里的这一行d=w[L]/v[L];发生在几个步骤中d=(int)w[L]/(int)v[L]d=(int)(w[L]/v[L])//theintegerresultiscalculatedd=(double)(int)(w[

Java 正确的方法将对象转换/转换为 Double

我需要将Objecto转换为Double。先转成String才是正确的方法? 最佳答案 newDouble(object.toString());但是我觉得你从对象变成double似乎很奇怪。在尝试转换之前,您应该更好地了解您从什么类别的对象开始。您可能在那里遇到了一些代码质量问题。请注意,这是一个转换,而不是转换。 关于Java正确的方法将对象转换/转换为Double,我们在StackOverflow上找到一个类似的问题: https://stackover

java - 为什么 Java 在使用 "plus equals"运算符时会执行从 double 到 integer 的隐式类型转换?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Varyingbehaviorforpossiblelossofprecision代码示例ApublicclassTest{publicstaticvoidmain(String[]args){inti=0;i=i+1.5;}}代码示例BpublicclassTest{publicstaticvoidmain(String[]args){inti=0;i+=1.5;}}不出所料,编译A会产生以下错误。令人惊讶的是,编译B没有产生任何错误,它的行为就像我在double值1.5之前插入了一个对整数的显式转换。为什

Java Double 与 double : class type vs primitive type

我很好奇Java的类和double的基本类型之间的性能差异是什么。所以我创建了一个小基准测试,发现类类型比原始类型慢3-7倍。(在本地机器OSX上为3x,在ideone上为7x)这是测试:classMain{publicstaticvoidmain(Stringargs[]){longbigDTime,littleDTime;{longstart=System.nanoTime();Doubled=0.0;for(Doublei=0.0;ihttp://ideone.com/fDizDu那么为什么Double类型这么慢呢?为什么它甚至被实现为允许数学运算符?

java - 将 double 组转换为 double ArrayList

当我尝试将double组转换为double组列表时,出现以下错误:Exceptioninthread"main"java.lang.ClassCastException:[Dcannotbecasttojava.lang.Double下面是我的代码。double[]firstValueArray;ArrayListfirstValueList=newArrayList(Arrays.asList(firstValueArray));我正在将这个列表与另一个列表进行比较,并将结果分配给另一个double变量。请告诉我这个错误的原因。 最佳答案

Java double.MAX_VALUE?

在我的任务中,我必须为一家燃气公司创建一个燃气表系统,以允许员工创建新的客户帐户并修改名称和单位成本等数据,以及从他们的帐户中提取(存入)资金。我已经创建了我的构造函数,甚至添加了一个重载方法,尽管我目前在启动我命名为deposit()的方法时遇到了问题,这应该会花钱来自用户帐户,而recordUnits()等其他方法允许员工导入燃气表读数,了解客户使用了多少单位,并更新该客户帐户的余额,这基本上是客户欠公司的。当尝试启动存款方法时仅使用预设信息测试程序时,我得到了这个Account.deposit(Double.MAX_VALUE);我不太清楚这意味着什么,而且似乎无法找到克服它的方

java - 将 double 与零进行比较

我是Java的新手,我一直在尝试实现一种算法来求三次方程的根。当我计算判别式并尝试检查它相对于零下降的位置时,问题就出现了。如果运行它并输入数字“1-58-4”,输出如下:1-58-4p=-0.333333,q=0.074074disc1=0.001372,disc2=-0.001372discriminant=0.00000000000000001236Discriminantisgreaterthanzero.我知道问题的出现是因为double的计算不精确。通常判别式应为0,但最终会变成类似0.00000000000000001236的值。我的问题是,避免这种情况的最佳方法是什么?