我不明白爲什麼這不起作用: (方法取自SO上的HERE)。如何使這個Java(Android)字符串替換?
private String MakeSizeHumanReadable(int bytes, boolean si) {
int unit = si ? 1000 : 1024;
if (bytes < unit) return bytes + " B";
int exp = (int) (Math.log(bytes)/Math.log(unit));
String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i");
String hr = String.format("%.1f %sB", bytes/Math.pow(unit, exp), pre);
hr = hr.replace("-1 B", "n.a.");
return hr;
}
既不這一個: -
private String MakeSizeHumanReadable(int bytes, boolean si) {
int unit = si ? 1000 : 1024;
if (bytes < unit) return bytes + " B";
int exp = (int) (Math.log(bytes)/Math.log(unit));
String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i");
String hr = String.format("%.1f %sB", bytes/Math.pow(unit, exp), pre);
Pattern minusPattern = Pattern.compile("-1 B");
Matcher minusMatcher = minusPattern.matcher(hr);
if (minusMatcher.find()) {
return "n.a.";
} else {
return hr;
}
}
不時我得到-1 B
從請求(這是正常的),即從未在n.a.
改變(....我的問題) 。
有沒有人有想法?
請考慮首先告訴我們你準備用這段代碼做什麼。 – 2013-02-11 17:49:35
感謝減1.我剛剛編輯添加從SO的鏈接。你一直很快。無論如何,這條線'不時從我的請求-1B(這是正常的),這是從來沒有改變n.a. (...我的問題).'解釋說我想改變從'n.a.'中的鏈接方法返回的'-1 B'' – dentex 2013-02-11 17:52:25
不夠公平。我在想,這兩個模塊共同的代碼段有些解釋。 – dentex 2013-02-11 17:55:28