diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt index d339fcc329a..ed27c163158 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt @@ -274,15 +274,17 @@ class DefaultExpressionConverter : JavaElementVisitor(), ExpressionConverter { val typeStr = type.canonicalText if (typeStr == "double") { text = text.replace("d", "", true) + .replace(".e", "e", true) if (!text.contains(".") && !text.contains("e", true)) text += "." - if (text.endsWith(".")) { + if (text.endsWith(".")) text += "0" - } } if (typeStr == "float") { - text = text.replace(".f", "f", true).replace("F", "f") + text = text.replace(".f", "f", true) + .replace("F", "f") + .replace(".e", "e", true) } if (typeStr == "long") { diff --git a/j2k/testData/fileOrElement/literalExpression/exponentDouble.java b/j2k/testData/fileOrElement/literalExpression/exponentDouble.java index 3c7253b0491..73b816bd97c 100644 --- a/j2k/testData/fileOrElement/literalExpression/exponentDouble.java +++ b/j2k/testData/fileOrElement/literalExpression/exponentDouble.java @@ -4,6 +4,7 @@ public class Exponent { 5E5, +5E5, -5E5, 5E+5, 5E-5, 2.5e5, +2.5e5, -2.5e5, 2.5e+5, 2.5e-5, 2.5E5, +2.5E5, -2.5E5, 2.5E+5, 2.5E-5, - 5e5f, 5e5F, 5e5d, 5e5D + 5e5f, 5e5F, 5e5d, 5e5D, + 5.e-6, 7.e+8, 9.E-1, 2.E+3, 4.e5, 6.E7 }; } \ No newline at end of file diff --git a/j2k/testData/fileOrElement/literalExpression/exponentDouble.kt b/j2k/testData/fileOrElement/literalExpression/exponentDouble.kt index c142728d8ac..8b07ce49e8d 100644 --- a/j2k/testData/fileOrElement/literalExpression/exponentDouble.kt +++ b/j2k/testData/fileOrElement/literalExpression/exponentDouble.kt @@ -1,3 +1,3 @@ class Exponent { - private val doubles = doubleArrayOf(5e5, +5e5, -5e5, 5e+5, 5e-5, 5E5, +5E5, -5E5, 5E+5, 5E-5, 2.5e5, +2.5e5, -2.5e5, 2.5e+5, 2.5e-5, 2.5E5, +2.5E5, -2.5E5, 2.5E+5, 2.5E-5, 5e5, 5e5, 5e5, 5e5) + private val doubles = doubleArrayOf(5e5, +5e5, -5e5, 5e+5, 5e-5, 5E5, +5E5, -5E5, 5E+5, 5E-5, 2.5e5, +2.5e5, -2.5e5, 2.5e+5, 2.5e-5, 2.5E5, +2.5E5, -2.5E5, 2.5E+5, 2.5E-5, 5e5, 5e5, 5e5, 5e5, 5e-6, 7e+8, 9e-1, 2e+3, 4e5, 6e7) } \ No newline at end of file diff --git a/j2k/testData/fileOrElement/literalExpression/exponentFloat.java b/j2k/testData/fileOrElement/literalExpression/exponentFloat.java index a2694135e70..3cde1ea68b9 100644 --- a/j2k/testData/fileOrElement/literalExpression/exponentFloat.java +++ b/j2k/testData/fileOrElement/literalExpression/exponentFloat.java @@ -4,6 +4,7 @@ public class Exponent { 5E5f, +5E5f, -5E5f, 5E+5f, 5E-5f, 2.5e5f, +2.5e5f, -2.5e5f, 2.5e+5f, 2.5e-5f, 2.5E5f, +2.5E5f, -2.5E5f, 2.5E+5f, 2.5E-5f, - 5e5f, 5e5F + 5e5f, 5e5F, + 5.e-6f, 7.e+8f, 9.E-1f, 2.E+3f, 4.e5f, 6.E7f }; } \ No newline at end of file diff --git a/j2k/testData/fileOrElement/literalExpression/exponentFloat.kt b/j2k/testData/fileOrElement/literalExpression/exponentFloat.kt index 4962ad5c603..0c37e43cfe8 100644 --- a/j2k/testData/fileOrElement/literalExpression/exponentFloat.kt +++ b/j2k/testData/fileOrElement/literalExpression/exponentFloat.kt @@ -1,3 +1,3 @@ class Exponent { - private val floats = floatArrayOf(5e5f, +5e5f, -5e5f, 5e+5f, 5e-5f, 5E5f, +5E5f, -5E5f, 5E+5f, 5E-5f, 2.5e5f, +2.5e5f, -2.5e5f, 2.5e+5f, 2.5e-5f, 2.5E5f, +2.5E5f, -2.5E5f, 2.5E+5f, 2.5E-5f, 5e5f, 5e5f) + private val floats = floatArrayOf(5e5f, +5e5f, -5e5f, 5e+5f, 5e-5f, 5E5f, +5E5f, -5E5f, 5E+5f, 5E-5f, 2.5e5f, +2.5e5f, -2.5e5f, 2.5e+5f, 2.5e-5f, 2.5E5f, +2.5E5f, -2.5E5f, 2.5E+5f, 2.5E-5f, 5e5f, 5e5f, 5e-6f, 7e+8f, 9e-1f, 2e+3f, 4e5f, 6e7f) } \ No newline at end of file