将Json字符串转换为float

时间:2017-06-22 04:09:15

标签: java android json

我从网站链接获得以下JSON。我需要获取密钥“market_cap_usd”并将其转换为浮动。当我按照下面的代码中提到的那样尝试它时,它没有正确显示数字。

请咨询。

{
    "id": "bitcoin", 
    "name": "Bitcoin", 
    "symbol": "BTC", 
    "rank": "1", 
    "price_usd": "2687.17", 
    "price_btc": "1.0", 
    "24h_volume_usd": "1588210000.0",
    "market_cap_usd": "44081040719.0"
    "available_supply": "16404262.0",
    "total_supply": "16404262.0", 
    "percent_change_1h": "0.05", 
    "percent_change_24h": "-2.05", 
    "percent_change_7d": "8.89", 
    "last_updated": "1498103956"
}, 

Android-Java代码

float  mkt_cap = BigDecimal.valueOf(json_data.getDouble("market_cap_usd")).floatValue();
System.out.println("mkt_cap : "+ mkt_cap);

输出

System.out: mkt_cap : 4.408104E10

2 个答案:

答案 0 :(得分:0)

将float更改为BigDecimal。

BigDecimal mkt_cap = new BigDecimal("44081040719.0");
System.out.println("mkt_cap : "+ mkt_cap);

输出

mkt_cap : 44081040719.0

答案 1 :(得分:0)

尝试将其保留为双重

     double  mkt_cap = new BigDecimal (44081040719.0).doubleValue();
     System.out.println(String.format("%.2f", mkt_cap));

<强>输出

44081040719.00