Q
保持領先零時減去
0
A
回答
6
1
由於@Sotirios Delimanolis提到的,你不能與渴望做到這一點。您將需要使用一個字符串,因爲longs不能在前面存儲額外的零。試試這個:
public String subtractWithZeros(long number1, long number2){
long result = number1 - number2;
String strResult = String.valueOf(result);
String strNum1 = String.valueOf(number1);
String strNum2 = String.valueOf(number2);
int totalLength = Math.max(strNum1.length(), strNum2.length());
int numOfNeededZeros = totalLength - strResult.length();
for(int i = 0;i<numOfNeededZeros;i++){
strResult = "0" + strResult;
}
return strResult;
}
這應該會返回一個很長的結果,並且你想在前面找到零。我假設減法的結果永遠不會是負面的。
2
前導零隻是標點符號。整個概念只適用於表示數字的字符串。事實上,在你製作這樣一個字符串之前,即使「數字」的概念也沒有意義。
所以你真正的問題不是「如何在減法時保持前導零?」,而是「當我的結果格式化爲字符串時,如何得到前導零」?
因此,例如,要使用(至少)4位數字和前導零打印一個數字,您可以使用out.printf("%04d", theNumber)
。或者在創建字符串時使用相同的格式說明符。
0
雖然這不是這個常見問題的當代答案,但它是一種操縱「printf」和「format」參數的方法。
int number = 5_000;
int length = Integer.toString(number).length();
number -= 4_999;
System.out.printf("%0" + length + "d", number);
// result : 0001
相關問題
- 1. R:保持領先的零
- 2. PHP郵編失去領先零
- 3. 保持領先的零字符串轉換爲整數
- 4. 是否長期保持領先的零SQLITE插入
- 5. 保持領先的零插入串ITO一個SELECT(MySQL的)
- 6. 出口MySQL查詢結果PHP和保持領先的零
- 7. 減去零
- 8. MSACCESS - 日期/時間格式 - 失去領先的零
- 9. 與領先的零
- 10. 經典ASP - 減去數字但保持前導零
- 11. 整數與零轉換爲字符串(並保持這種領先的零)
- 12. 在我的數字時鐘領先零
- 13. 獲得領先零的時間
- 14. 保持/插入領先0的
- 15. ruby Date.month與領先的零
- 16. 帶領先零的LPAD
- 17. RFID - 領先的零問題
- 18. 添加領先的零Python
- 19. Integer.toBinaryString()失去領先0的
- 20. Linq OrderByDescending但保持零值首先
- 21. jQuery的動畫保持減去
- 22. 抑制 「減去零」 從COUT
- 23. 的Python:轉換,同時保持領先爲str 0的
- 24. 使用JQuery獲取表單值時保持領先0?
- 25. 粘貼時保持零位
- 26. VBA格式編號在保存文件上帶領先零
- 27. 導入3位數字領先零
- 28. 解析串地龍與領先的零
- 29. 領先的零是什麼意思?
- 30. PHP二進制與領先的零
你不能。將其格式化爲「String」。 –
如果使用'int'或'long'值,你*保持前導零。只是在打印價值時它們通常會被壓制(而且無論如何你都不想看到它們)。 (OTOH,帶有'float'和'double'值,你永遠不會*保持前導零 - 甚至是第一個非零位。) –
(你需要學習思考*的值*數字和它的*表示*作爲兩個不同的東西。) –