gpt4 book ai didi

java - 如何将不同的数字类型转换为Double?

转载 作者:行者123 更新时间:2023-12-01 19:41:12 25 4
gpt4 key购买 nike

Hashmap 包含一个键,其值可以是 IntegerDouble

如果值的类型为 Double,则此方法有效,但对于 Integer 类型则失败:

Double value = (Double) locationMap.get("key");

不幸的是我似乎无法控制类型,因为它是从服务器传输的 JSON 数据。显然,即使数字在传输之前是服务器端(Javascript)的 double 类型,但没有十进制数字,它也会在沿线的某个地方被解释为 Integer在客户端(Java)。

考虑可能的Integer值并将其转换为Double的最短方法是什么?

最佳答案

假设您知道它是一个 Number(例如,您首先使用 instanceof 进行测试):

Double value = ((Number) locationMap.get("key")).doubleValue();

如果数字已经是Double,则效率很低。您可能需要定义一个方法来专门处理该问题:

// Doesn't handle null.
Double toDouble(Number n) {
return (n instanceof Double) ? (Double) n : Double.valueOf(n.doubleValue());
}

Double.valueOf 看起来多余,但如果使用条件表达式来避免第二个操作数 ( see this ) 拆箱,则这是必需的。

关于java - 如何将不同的数字类型转换为Double?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55362823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com