Java編程常用數據轉換:String與int互轉、Date與String互轉、BigDecimal與int比較(報錯operator > cannot be applied to java.math.BigDecimal,int)


一、String與Int互轉

  在 Java 中要將 String 類型轉化為 int 類型時,需要使用 Integer 類中的 parseInt() 方法或者 valueOf() 方法進行轉換。

String str = "123"; int a = Integer.parseInt(str);  // 方式1
int b = Integer.valueOf(str).intValue()   // 方式2

  在轉換過程中需要注意:因為字符串中可能會出現非數字的情況,所以在轉換的時候需要捕捉處理異常。

1、Integer.parseInt(String)方法:parseInt()是Integer包裝類里的一個方法,可以將字符串解析為帶符號的整數

  注:

(1)使用parseInt()方法時,字符串中的所有字符都必須是數字,但第一個字符可以是減號“ - ”。例:String str="-1234"; 可以轉換為  -1234

(2)當String類型中的不是所有字符都為數字時,也會拋出異常:NumberFormatException。

2、Integer.valueOf(String)方法:valueOf()同樣是Integer包裝類的一個方法,可以將String類型的值轉換為int類型的值。這和parseInt()方法相似,它們轉換后的輸出的結果是相同的。

3、但,Integer.valueOf()和Integer.parseInt()之間還是存在差異的:

  valueOf(String)方法會返回Integer類的對象,而parseInt(String)方法返回原始的int值。

4、int轉string

String s = String.valueOf(i); String s = Integer.toString(i); String s = i + '';

二、Date與String互轉

1、Date轉為String

SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = f.format(examApply.getCreateTime())

2、String轉為Date

  參數String類型的格式必須與注釋中的日期格式對齊,否則會報錯

DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //日期格式
Date date = format.parse(time);

3、使用數據庫類將String轉為Date

  轉換后格式不改變,String類型為Date類型。該類的源碼只支持 - 作為分隔符,所以必須使用 - 作為分隔符。 在確定以 - 為分隔符后,此方法相對會簡單很多。

Date date =java.sql.Date.valueOf("2021-06-16");

三、BigDecimal 與 int 比較

  這里說一個報錯:operator > cannot be applied to java.math.BigDecimal,int,BigDecimal無法用int之類的 >、<、=之類的比較。如果使用的話,就會報這個錯誤。

  BigDecimal必須使用compareTo()方法來比較,它根據兩個值的大小分別返回負數、正數和0,分別表示小於、大於和等於。

  而且也需要用 new BigDecimal(0) 轉換為 BigDecimal 才可以進行比較。

if(examRoom.getPrice().compareTo(new BigDecimal(0)) == 0){   user.setStatus(ExamApplyStatus.PAYED);   message = "報名成功,請等待審核"; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM