【问题标题】:Parse String to Double.NaN将字符串解析为 Double.NaN
【发布时间】:2012-05-31 19:59:40
【问题描述】:

我想让用户编辑包含双数据的字段。我想允许 Double.NaN (无效值)。是否有一种通用方式(预定义的字符串)从方法 Double.valueOf(String) 解析为 Double.NaN 而无需在后台检查?

有一个特殊的字符,看起来像一个带有问号的菱形(在 HTML 中),它的行为类似于 NaN,但是 - 好吧 - 用户不会在他们的键上找到它。

【问题讨论】:

    标签: java string nan


    【解决方案1】:

    parseDouble("NaN") 将返回一个 NaN 值:

    System.out.println(Double.isNaN(Double.parseDouble("NaN"));
    

    【讨论】:

      【解决方案2】:

      您可以将+NaN-NaNNaN 传递给valueOf() 并让它返回一个NaN。 documentation 提供了完整的详细信息。

      【讨论】:

      • 好的,但不适用于我的特殊情况。我应该提到我使用 Groovy/Grails 将它从 HTML 表单数据解析为双精度数据。它说这是一个“无法解析的数字”并以 IllegalArgumentException 退出。也许调用另一个方法来转换属性...
      • 这不是你问的问题。你问过Double.valueOf。听起来你需要一个新问题。
      • 我认为转换过程本身会调用 Double.valueOf(String) ,因此是与 Java 相关的简单事物,但显然不是。很难调试并找到真正的名称。对于这个不清楚的问题,我很抱歉!
      • http://stackoverflow.com/q/10751338/1009459打开了一个新问题,希望能更好地表述问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-06
      • 2014-01-04
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多