@NotNull private static String explicitConvertIfNeeded( @NotNull final Type type, @NotNull final Expression i) { Set<String> doubleOrFloatTypes = new HashSet<String>( Arrays.asList("double", "float", "java.lang.double", "java.lang.float")); String afterReplace = innerTypeStr(type).replace(">", "").replace("<", "").replace("?", ""); if (doubleOrFloatTypes.contains(afterReplace)) { if (i.getKind() == Kind.LITERAL) { if (i.toKotlin().contains(".")) { return i.toKotlin(); } return i.toKotlin() + DOT + ZERO; } return "(" + i.toKotlin() + ")" + getConversion(afterReplace); } return i.toKotlin(); }