0

我有一个使用 Apache POI 解析 Excel 文件的解析器类。

当一个单元格包含1.0时,我想将其转换为 String "1"。当我得到时,我1.1想将其解析为"1.1"

怎么做 ?

我尝试了一些没有成功的实验:

try
  doubleValue.toInt
catch
{
  case _ => doubleValue.toString
}

或者通过使用Integer.parseInt()方法。

4

1 回答 1

4

如果可能,以下代码返回一个Int,否则返回一个Double

if (doubleValue.isValidInt)
  doubleValue.toInt
else
  doubleValue

您必须注意两者之间的共同类型是AnyVal,有时您应该显式声明它以避免编译器自动将Int结果重新转换为Double.

PS如果结果必须是 a String,您可以将上述代码打包在一个方法中并调用toString结果。

于 2013-07-08T09:13:53.593 回答