You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (Jira)" <ji...@apache.org> on 2020/10/20 19:24:00 UTC
[jira] [Commented] (CALCITE-4346) strange result in toString
function with bigdecimal type
[ https://issues.apache.org/jira/browse/CALCITE-4346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17217880#comment-17217880 ]
Julian Hyde commented on CALCITE-4346:
--------------------------------------
{{SqlFunctions}} is a runtime library for code that Calcite generates to implement SQL. To demonstrate that there is a bug in {{SqlFunctions}}, you need to give a SQL query that gives the wrong result.
> strange result in toString function with bigdecimal type
> --------------------------------------------------------
>
> Key: CALCITE-4346
> URL: https://issues.apache.org/jira/browse/CALCITE-4346
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Zhixiong Chen
> Priority: Major
>
> In SqlFunctions the toString function with BigDecimal type will replace 0.1 with .1 .
> But why is this ?
> {code:java}
> public static String toString(BigDecimal x) {
> final String s = x.toString();
> if (s.equals("0")) {
> return s;
> } else if (s.startsWith("0.")) {
> // we want ".1" not "0.1"
> return s.substring(1);
> } else if (s.startsWith("-0.")) {
> // we want "-.1" not "-0.1"
> return "-" + s.substring(2);
> } else {
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)