[英]Retain leading zero while converting from String to BigIntger
我正在將字符串轉換為 mobileNumber 的整數。 手機號碼在轉換為 BigInteger 時有前導零。代碼正在從字符串中刪除前導零。 我想保留前導零。 任何人都可以告訴我實現這一目標的方法。 下面是我的代碼。
public class MobileNumberStringToInteger {
public static void main(String[] args) {
String mobileNumber = "08305327";
BigInteger mobileNumberBigInt= new BigInteger(mobileNumber );
System.out.println("mobile number in string to mobileNumberBigIntger--"+mobileNumberBigInt);
}
}
數字的內部表示應該不重要(但計算機通常使用基於二進制的表示,而不是基於 10 的表示)。 當你寫
System.out.println("mobileNumberBigIntger " + mobileNumberBigInt);
+
號實際上是使用默認的toString()
將BigInteger
轉換為可以打印的String
(因為System.out.println()
將字符串作為參數)。 所以你的問題實際上是“如何在從 BigInteger 轉換為 String 時添加前導零”
要控制如何將BigInteger
轉換為String
,請使用DecimalFormat
。 假設您的號碼有 8 位數字,您可以使用:
DecimalFormat fmt = new DecimalFormat("00000000"); // 8 zeroes
System.out.println("mobileNumberBigIntger " + fmt.format(mobileNumberBigInt));
注意
String.format("%08d", mobileNumberLong)
。String
而不是轉換為/從數字轉換 - 因為電話號碼具有不同的長度,並且一種格式不適合所有用例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.