第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

JSONArray(jsonstring) 如果為 0 則丟棄小數(shù)

JSONArray(jsonstring) 如果為 0 則丟棄小數(shù)

寶慕林4294392 2023-04-13 17:19:04
我有一個(gè)帶有浮動(dòng)值的 json 字符串: {"foo":10.0,"bar":12.005} 我需要使用它來(lái)轉(zhuǎn)換它JSONObject(jsonstring)并且我需要保留小數(shù),但是如果它們?yōu)榱悖琷son 數(shù)組會(huì)丟棄它們。結(jié)果看起來(lái)像 {"foo":10,"bar":12.005}我希望我可以提供額外的參數(shù)來(lái)控制數(shù)據(jù)類型,但根據(jù) https://developer.android.com/reference/org/json/JSONObject 沒(méi)有這樣的選項(xiàng)。我還搜索了 google 和 stackoverflow,但我找不到任何類似的問(wèn)題。
查看完整描述

5 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

JSONObject 始終將所有內(nèi)容都視為對(duì)象,因此必須通過(guò)解析將它們轉(zhuǎn)換為浮點(diǎn)數(shù)。


     String json = "{\"foo\":10.0}";

     try{

            JSONObject jo = new JSONObject(json); 

            float f = Float.parseFloat(jo.get("foo").toString());

            System.out.println(f);

        }

     catch(Exception e){

            // Some parsing exception occurs

        }

希望這能解決問(wèn)題。


JSONObject 還支持獲取各種數(shù)據(jù)類型(如 double、int、boolean)中的項(xiàng)目的方法


   double d = jo.getDouble("foo");

   System.out.println(d); // gave me 10.0

同樣我們有


   int i = getInt("name"); // which returns an integer 

   boolean b = getBoolean("name"); // Automatically parses 


查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

無(wú)法從 JSON.parse 或 eval 中獲取位數(shù)。即使 IBM 的十進(jìn)制提案已被 EcmaScript 委員會(huì)采納,該數(shù)字仍將被解析為 IEEE 754 浮點(diǎn)數(shù)。


查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
千萬(wàn)里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

對(duì)于 10.0,它會(huì)將值作為整數(shù)添加到 JSON 中,如果你想要它帶有小數(shù),那么首先你需要將它轉(zhuǎn)換為字符串,然后你需要將字符串值放入 JSON 中。


val foo = 10.0

val bar = 12.005

val strFoo = foo.toString();

val jsonObject = JSONObject()

jsonObject.put("foo",strFoo)

jsonObject.put("bar", bar)


查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊

這是預(yù)期的行為。

DECIMAL 字段轉(zhuǎn)換為 JSON NUMBER 數(shù)據(jù)類型。默認(rèn)情況下,此類型會(huì)修剪尾隨零。

JSON 的客戶端/接收方?jīng)Q定需要顯示多少位小數(shù)并設(shè)置正確的顯示格式。


查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

我猜,這不是JSON數(shù)組的問(wèn)題,而是語(yǔ)言從float到int的類型轉(zhuǎn)換的問(wèn)題。


使用類似于此的格式將浮點(diǎn)數(shù)格式化為字符串String.format("%,.2f", val);


編輯


工作流程將如下所示:


if(Math.ceil(val)==val){ //a number with no fractional points


    String str = String.format("%,.2f", val);

}

else //use_the_floating_number_as_usual


查看完整回答
反對(duì) 回復(fù) 2023-04-13
  • 5 回答
  • 0 關(guān)注
  • 367 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)