java - 在 JAVA 中将 INFINITY 值打印到其他内容

标签 java

我正在我的java编码中进行计算,我现在的问题是每当我击中0除以0时,它就会打印值。 我的问题是,我可以将 ? 更改为打印 0 或其他内容吗?那可能吗? 下面是我的代码,

DecimalFormat df = new DecimalFormat ("0.00");
if (rowset[9] == null) {rowset[9]="0";out.print("0.00");} 
else out.print(df.format(Double.valueOf(rowset[9])/Double.valueOf(rowset[10])));

最佳答案

也许类似(未测试):

DecimalFormat df = new DecimalFormat ("0.00");
if (rowset[9] == null) {rowset[9]="0";out.print("0.00");} 
else {
  double result = rowset[9] / rowset[10];
  if( result != result )
     System.out.println( "undefined" );
  else
     out.print( df.format( result ) );
}

写完这篇文章后,我进行了搜索,发现了一种更好的方法来测试 NAN。我想我应该 RTFM。 How do you test to see if a double is equal to NaN?

关于java - 在 JAVA 中将 INFINITY 值打印到其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61472304/

相关文章:

java - 如何解决 Spring IoC 中 bean 之间的循环依赖?

java - 为什么在我更改焦点时会在我的 DocumentListener 中调用 insertUpdate? (Java Swing )

java - 将日志文件拆分为由正则表达式分隔的 block

java - 关于时区和格式化日期的 Grails 问题

java - 哈希码跨越整数边界时的解决方法

java - 在 JPA 中映射 Map<Entity, Entity> 结果表中不存在于该描述符中

java - 带日期的 ParseException?

java - jpa mssql @Lob 并创建具有可移植性的 2GB 列

java - Long.reverse(long) 方法有什么用?

java - 用于 Linux 的硬件中断 API