Skip to content

Commit

Permalink
fix decimal bug
Browse files Browse the repository at this point in the history
  • Loading branch information
85016910 committed Jul 24, 2019
1 parent 3f561fb commit 90d041a
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ class PatternAggregation(input: Iterable[Iterable[Row]], fieldName: String, sche
private def sumDecimal() = {
var sum = new java.math.BigDecimal(0.0)
for (elem <- input.flatten) {
val value: java.math.BigDecimal = new java.math.BigDecimal(elem.asInstanceOf[String].trim).stripTrailingZeros()
val value: java.math.BigDecimal = new java.math.BigDecimal(new java.math.BigDecimal(elem.asInstanceOf[String].trim).stripTrailingZeros().toPlainString)
if (value == null) sum
else sum = sum.add(value)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ object FlinkSchemaUtils extends java.io.Serializable {
case _=>DateUtils.dt2sqlDate(value.asInstanceOf[Date])
}
case Types.SQL_TIMESTAMP => value.asInstanceOf[Timestamp]
case Types.DECIMAL => new java.math.BigDecimal(value.asInstanceOf[java.math.BigDecimal].toPlainString.trim).stripTrailingZeros()
case Types.DECIMAL => new java.math.BigDecimal(value.asInstanceOf[java.math.BigDecimal].stripTrailingZeros().toPlainString)
case _ => throw new UnsupportedOperationException(s"Unknown Type: $flinkType")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ trait SinkDbSchemaUtils {
case UmsFieldType.FLOAT => value.trim.toFloat
case UmsFieldType.DOUBLE => value.trim.toDouble
case UmsFieldType.BINARY => CommonUtils.base64s2byte(value.trim)
case UmsFieldType.DECIMAL => new java.math.BigDecimal(value.trim).stripTrailingZeros()
case UmsFieldType.DECIMAL => new java.math.BigDecimal(new java.math.BigDecimal(value.trim).stripTrailingZeros().toPlainString)
case UmsFieldType.BOOLEAN => value.trim.toBoolean
case UmsFieldType.DATE => DateUtils.dt2sqlDate(value.trim)
case UmsFieldType.DATETIME => DateUtils.dt2timestamp(value.trim)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ trait SinkHbaseSchemaUtils {
case UmsFieldType.FLOAT => if (value == null) null else Bytes.toBytes(value.trim.toFloat)
case UmsFieldType.DOUBLE => if (value == null) null else Bytes.toBytes(value.trim.toDouble)
case UmsFieldType.BOOLEAN => if (value == null) null else Bytes.toBytes(value.trim.toBoolean)
case UmsFieldType.DECIMAL => if (value == null) null else Bytes.toBytes(new java.math.BigDecimal(value.trim).stripTrailingZeros())
case UmsFieldType.DECIMAL => if (value == null) null else Bytes.toBytes(new java.math.BigDecimal(new java.math.BigDecimal(value.trim).stripTrailingZeros().toPlainString))
case UmsFieldType.DATE => if (value == null) null else Bytes.toBytes(dt2date(value).getTime)
case UmsFieldType.DATETIME => if (value == null) null else Bytes.toBytes(dt2date(value).getTime)
case UmsFieldType.BINARY => if (value == null) null else CommonUtils.base64s2byte(value.trim)
Expand Down

0 comments on commit 90d041a

Please sign in to comment.