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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用前導零將字符串轉(zhuǎn)換為 BigDecimal

使用前導零將字符串轉(zhuǎn)換為 BigDecimal

犯罪嫌疑人X 2022-07-14 17:36:42
我正在嘗試將輸入流轉(zhuǎn)換為對象,并且無法將以下字符串轉(zhuǎn)換為 BigDecimal。我得到 87.00,因為 0 被忽略了。我正在嘗試使用 DecimalFormat。任何幫助表示贊賞。謝謝!例如 0087 必須轉(zhuǎn)換為 00.87
查看完整描述

2 回答

?
鴻蒙傳說

TA貢獻1865條經(jīng)驗 獲得超7個贊

您似乎在注釋中指出初始字符串"0087"是具有兩位小數(shù)的定點表示,因此在最后兩位數(shù)之前有一個隱含的小數(shù)點。有幾種方法可以將其轉(zhuǎn)換為相應的BigDecimal,但我自己,我會這樣做:

BigDecimal result = BigDecimal.valueOf(Long.parseLong("0087"), 2);

這里的關(guān)鍵是要了解BigDecimals 具有兩個特征:任意長度的十進制數(shù)字序列,以及以小數(shù)點右側(cè)的位數(shù)的形式傳達最低有效數(shù)字位值的比例觀點。上面演示的特定工廠方法接受這些作為單獨的參數(shù),盡管它僅在數(shù)字字符串足夠短以表示為時才有效long。2直接對應于輸入中的(隱式)小數(shù)位數(shù)。

將結(jié)果輸出BigDecimal為“00.87”而不是“0.87”是一個單獨的問題,但如果它真的是你想要的東西是可行的。


查看完整回答
反對 回復 2022-07-14
?
小怪獸愛吃肉

TA貢獻1852條經(jīng)驗 獲得超1個贊

試試這個代碼


 String str="0087";

 int pos=str.lastIndexOf("0");

 String resultat=str.substring(0,pos+1);

 resultat+=".";

 resultat+=str.substring(pos+1);

 System.out.println(resultat);

 new BigDecimal(resultat);


查看完整回答
反對 回復 2022-07-14
  • 2 回答
  • 0 關(guān)注
  • 286 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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