亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何為十進制數字做Integer.parseInt()?

如何為十進制數字做Integer.parseInt()?

慕容708150 2019-11-02 10:25:48
Java代碼如下:String s = "0.01";int i = Integer.parseInt(s);但是,這引發了NumberFormatException ...可能出了什么問題?
查看完整描述

3 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

String s = "0.01";

double d = Double.parseDouble(s);

int i = (int) d;

出現異常的原因是整數不包含有理數(基本上是分數)。因此,嘗試解析0.3為int是胡說八道。一個double或一個float數據類型可以容納有理數。


Java將a轉換double為an的方式int是通過將小數點分隔符后的部分舍入為0來完成的。


int i = (int) 0.9999;

i 將為零。


查看完整回答
反對 回復 2019-11-02
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

0.01不是整數(整數),因此您當然不能將其解析為整數。使用Double.parseDoubleFloat.parseFloat代替。


查看完整回答
反對 回復 2019-11-02
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

實際上,這種轉換在Java中令人難以置信


例如,以下字符串:“ 100.00”


C:一個簡單的標準庫函數至少自1971年以來(這個名字是'atoi`從何而來?)


int i = atoi(decimalstring);

Java:通過Double(或Float)解析強制轉換,然后強制轉換


int i = (int)Double.parseDouble(decimalstring);

Java肯定有一些奇怪之處


查看完整回答
反對 回復 2019-11-02
  • 3 回答
  • 0 關注
  • 316 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號