summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/calculator2/Evaluator.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/com/android/calculator2/Evaluator.java b/src/com/android/calculator2/Evaluator.java
index 6667878..33960ba 100644
--- a/src/com/android/calculator2/Evaluator.java
+++ b/src/com/android/calculator2/Evaluator.java
@@ -677,7 +677,7 @@ class Evaluator {
}
if (msdIndex > dotIndex) {
if (msdIndex <= dotIndex + EXP_COST + 1) {
- // Preferred display format inthis cases is with leading zeroes, even if
+ // Preferred display format in this case is with leading zeroes, even if
// it doesn't fit entirely. Replicate that here.
msdIndex = dotIndex - 1;
} else if (lsdOffset <= SHORT_TARGET_LENGTH - negative - 2
@@ -697,7 +697,8 @@ class Evaluator {
final int totalDigits = lsdIndex - msdIndex + negative + 1;
if (totalDigits <= SHORT_TARGET_LENGTH && dotIndex > msdIndex && lsdOffset >= -1) {
// Fits, no exponent needed.
- return negativeSign + cache.substring(msdIndex, lsdIndex + 1);
+ final String wholeWithCommas = StringUtils.addCommas(cache, msdIndex, dotIndex);
+ return negativeSign + wholeWithCommas + cache.substring(dotIndex, lsdIndex + 1);
}
if (totalDigits <= SHORT_TARGET_LENGTH - 3) {
return negativeSign + cache.charAt(msdIndex) + "."
@@ -706,8 +707,10 @@ class Evaluator {
}
// We need to abbreviate.
if (dotIndex > msdIndex && dotIndex < msdIndex + SHORT_TARGET_LENGTH - negative - 1) {
- return negativeSign + cache.substring(msdIndex,
- msdIndex + SHORT_TARGET_LENGTH - negative - 1) + KeyMaps.ELLIPSIS;
+ final String wholeWithCommas = StringUtils.addCommas(cache, msdIndex, dotIndex);
+ return negativeSign + wholeWithCommas
+ + cache.substring(dotIndex, msdIndex + SHORT_TARGET_LENGTH - negative - 1)
+ + KeyMaps.ELLIPSIS;
}
// Need abbreviation + exponent
return negativeSign + cache.charAt(msdIndex) + "."