You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2015/05/15 05:06:17 UTC
[05/50] [abbrv] incubator-kylin git commit: KYLIN-748
restoreDecimalPoint revisited
KYLIN-748 restoreDecimalPoint revisited
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/6533a33c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/6533a33c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/6533a33c
Branch: refs/heads/streaming-localdict
Commit: 6533a33c81342457d41ff81ebd46a03f1dc1c358
Parents: 0ab0166
Author: honma <ho...@ebay.com>
Authored: Tue May 5 13:35:30 2015 +0800
Committer: honma <ho...@ebay.com>
Committed: Tue May 5 13:35:30 2015 +0800
----------------------------------------------------------------------
.../kylin/metadata/measure/fixedlen/FixedPointLongCodec.java | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/6533a33c/metadata/src/main/java/org/apache/kylin/metadata/measure/fixedlen/FixedPointLongCodec.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/kylin/metadata/measure/fixedlen/FixedPointLongCodec.java b/metadata/src/main/java/org/apache/kylin/metadata/measure/fixedlen/FixedPointLongCodec.java
index a0409b5..5218101 100644
--- a/metadata/src/main/java/org/apache/kylin/metadata/measure/fixedlen/FixedPointLongCodec.java
+++ b/metadata/src/main/java/org/apache/kylin/metadata/measure/fixedlen/FixedPointLongCodec.java
@@ -70,15 +70,12 @@ public class FixedPointLongCodec extends FixedLenMeasureCodec<LongWritable> {
}
String restoreDecimalPoint(long value) {
- String valueStr = Long.toString(value);
- if (scale < 0 || scale >= valueStr.length()) {
+ if (scale < 0) {
throw new RuntimeException("Bad scale: " + scale + " with value: " + value);
} else if (scale == 0) {
return Long.toString(value);
} else {
- StringBuilder sb = new StringBuilder(valueStr);
- sb.insert(valueStr.length() - scale, '.');
- return sb.toString();
+ return String.format("%." + scale + "f", value / (Math.pow(10, scale)));
}
}