ParseError for input string "1,5"

Обсуждение Stimulsoft Reports.JAVA
Ответить
montty
Сообщения: 23
Зарегистрирован: 02 апр 2014, 23:15

ParseError for input string "1,5"

Сообщение montty »

Привет!

У нас в отчете есть поля типа

Код: Выделить всё

<value>Value5,System.Nullable`1[System.Decimal]</value>
Они, видимо, и вызывают ошибку.

Код: Выделить всё

java.lang.NumberFormatException: For input string: "1,5"
	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1241)
	at java.lang.Double.valueOf(Double.java:504)
	at com.stimulsoft.report.dictionary.data.StiDoubleDataCell.<init>(StiDoubleDataCell.java:10)
	at com.stimulsoft.report.dictionary.data.DataRow.create(DataRow.java:199)
	at com.stimulsoft.report.dictionary.data.DataRow.addCell(DataRow.java:85)
	at com.stimulsoft.report.dictionary.databases.StiXmlDatabase.fillTable(StiXmlDatabase.java:148)
	at com.stimulsoft.report.dictionary.databases.StiXmlDatabase.connect(StiXmlDatabase.java:123)
	at com.stimulsoft.report.dictionary.dataSources.StiDataStoreSource.connect(StiDataStoreSource.java:92)
	at com.stimulsoft.report.dictionary.dataSources.StiDataSourcesCollection.connect(StiDataSourcesCollection.java:67)
	at com.stimulsoft.report.dictionary.StiDictionary.connect(StiDictionary.java:1216)
	at com.stimulsoft.report.engine.engineV2.StiRenderProviderV2.ConnectToData(StiRenderProviderV2.java:387)
	at com.stimulsoft.report.engine.engineV2.StiRenderProviderV2.Render(StiRenderProviderV2.java:124)
	at com.stimulsoft.report.engine.engineV2.builders.StiReportV2Builder.RenderSingleReport(StiReportV2Builder.java:64)
	at com.stimulsoft.report.StiReport.RenderReport(StiReport.java:1976)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1876)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1807)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1797)
	at org.apache.jsp.report_jsp._jspService(report_jsp.java:145)
mrt и xml прилагаю

С уважением,
montty
montty
Сообщения: 23
Зарегистрирован: 02 апр 2014, 23:15

Re: ParseError for input string "1,5"

Сообщение montty »

Еще, если мы заменяем в отчете числа с запятыми на числа с точками, то появляется другая ошибка:

Код: Выделить всё

Caused by: java.lang.ClassCastException: java.lang.Double cannot be cast to java.math.BigDecimal
	at com.stimulsoft.report.crossTab.core.StiCross.GetValueFromDataRow(StiCross.java:290)
	at com.stimulsoft.report.crossTab.core.StiCross.CalculateDataRow(StiCross.java:410)
	at com.stimulsoft.report.crossTab.core.StiCross.CalculateDataTable(StiCross.java:386)
	at com.stimulsoft.report.crossTab.core.StiCross.Create(StiCross.java:1293)
	at com.stimulsoft.report.crossTab.StiCrossTabHelper.BuildCross(StiCrossTabHelper.java:509)
	at com.stimulsoft.report.crossTab.StiCrossTabHelper.CreateCross(StiCrossTabHelper.java:566)
	at com.stimulsoft.report.engine.engineV2.StiPageHelper.RenderPage(StiPageHelper.java:515)
	at com.stimulsoft.report.engine.engineV2.StiRenderProviderV2.RenderReport(StiRenderProviderV2.java:865)
	at com.stimulsoft.report.engine.engineV2.StiRenderProviderV2.Render(StiRenderProviderV2.java:247)
	at com.stimulsoft.report.engine.engineV2.builders.StiReportV2Builder.RenderSingleReport(StiReportV2Builder.java:64)
	at com.stimulsoft.report.StiReport.RenderReport(StiReport.java:1976)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1876)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1807)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1797)
.....
Vadim
Сообщения: 107
Зарегистрирован: 04 апр 2013, 12:26

Re: ParseError for input string "1,5"

Сообщение Vadim »

Здравствуйте.
В XML разделителем дробной части является "." (http://www.w3.org/TR/xmlschema-2/#decimal).
Ошибка исправлена и будет доступна начиная с версии 2014.2.1901
montty писал(а):Еще, если мы заменяем в отчете числа с запятыми на числа с точками, то появляется другая ошибка:

Код: Выделить всё

Caused by: java.lang.ClassCastException: java.lang.Double cannot be cast to java.math.BigDecimal
	at com.stimulsoft.report.crossTab.core.StiCross.GetValueFromDataRow(StiCross.java:290)
	at com.stimulsoft.report.crossTab.core.StiCross.CalculateDataRow(StiCross.java:410)
	at com.stimulsoft.report.crossTab.core.StiCross.CalculateDataTable(StiCross.java:386)
	at com.stimulsoft.report.crossTab.core.StiCross.Create(StiCross.java:1293)
	at com.stimulsoft.report.crossTab.StiCrossTabHelper.BuildCross(StiCrossTabHelper.java:509)
	at com.stimulsoft.report.crossTab.StiCrossTabHelper.CreateCross(StiCrossTabHelper.java:566)
	at com.stimulsoft.report.engine.engineV2.StiPageHelper.RenderPage(StiPageHelper.java:515)
	at com.stimulsoft.report.engine.engineV2.StiRenderProviderV2.RenderReport(StiRenderProviderV2.java:865)
	at com.stimulsoft.report.engine.engineV2.StiRenderProviderV2.Render(StiRenderProviderV2.java:247)
	at com.stimulsoft.report.engine.engineV2.builders.StiReportV2Builder.RenderSingleReport(StiReportV2Builder.java:64)
	at com.stimulsoft.report.StiReport.RenderReport(StiReport.java:1976)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1876)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1807)
	at com.stimulsoft.report.StiReport.Render(StiReport.java:1797)
.....
montty
Сообщения: 23
Зарегистрирован: 02 апр 2014, 23:15

Re: ParseError for input string "1,5"

Сообщение montty »

Добрый день!
У нас какая-то снова странная ошибка (файлы mrt и xml в архиве *.7z).
Версия 2014.2.1914.

Код: Выделить всё

ava.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Double
	at java.lang.Double.compareTo(Double.java:49)
	at com.stimulsoft.report.crossTab.core.ColumnComparator.compare(StiColumnCollection.java:86)
	at com.stimulsoft.report.crossTab.core.ColumnComparator.compare(StiColumnCollection.java:54)
	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:324)
	at java.util.TimSort.sort(TimSort.java:189)
	at java.util.TimSort.sort(TimSort.java:173)
	at java.util.Arrays.sort(Arrays.java:659)
	at java.util.Collections.sort(Collections.java:217)
	at com.stimulsoft.report.crossTab.core.StiColumnCollection.Sort(StiColumnCollection.java:29)
	at com.stimulsoft.report.crossTab.core.StiCross.SortCols(StiCross.java:184)
	at com.stimulsoft.report.crossTab.core.StiCross.SortCols(StiCross.java:169)
Проверьте, пожалуйста, в чем может быть проблема.

С уважением,
montty.
montty
Сообщения: 23
Зарегистрирован: 02 апр 2014, 23:15

Re: ParseError for input string "1,5"

Сообщение montty »

Если поменять и в xml и в mrt тип periodNum на integer, то ошибка следующая:

Код: Выделить всё

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
	at java.lang.Long.compareTo(Long.java:50)
	at com.stimulsoft.report.crossTab.core.ColumnComparator.compare(StiColumnCollection.java:86)
	at com.stimulsoft.report.crossTab.core.ColumnComparator.compare(StiColumnCollection.java:54)
	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:324)
	at java.util.TimSort.sort(TimSort.java:189)
	at java.util.TimSort.sort(TimSort.java:173)
	at java.util.Arrays.sort(Arrays.java:659)
	at java.util.Collections.sort(Collections.java:217)
	at com.stimulsoft.report.crossTab.core.StiColumnCollection.Sort(StiColumnCollection.java:29)
Vadim
Сообщения: 107
Зарегистрирован: 04 апр 2013, 12:26

Re: ParseError for input string "1,5"

Сообщение Vadim »

Здравствуйте.

Ошибка исправлена и будет доступна со следующего пререлиза.
montty писал(а):Добрый день!
У нас какая-то снова странная ошибка (файлы mrt и xml в архиве *.7z).
Версия 2014.2.1914.

Код: Выделить всё

ava.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Double
	at java.lang.Double.compareTo(Double.java:49)
	at com.stimulsoft.report.crossTab.core.ColumnComparator.compare(StiColumnCollection.java:86)
	at com.stimulsoft.report.crossTab.core.ColumnComparator.compare(StiColumnCollection.java:54)
	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:324)
	at java.util.TimSort.sort(TimSort.java:189)
	at java.util.TimSort.sort(TimSort.java:173)
	at java.util.Arrays.sort(Arrays.java:659)
	at java.util.Collections.sort(Collections.java:217)
	at com.stimulsoft.report.crossTab.core.StiColumnCollection.Sort(StiColumnCollection.java:29)
	at com.stimulsoft.report.crossTab.core.StiCross.SortCols(StiCross.java:184)
	at com.stimulsoft.report.crossTab.core.StiCross.SortCols(StiCross.java:169)
Проверьте, пожалуйста, в чем может быть проблема.

С уважением,
montty.
montty
Сообщения: 23
Зарегистрирован: 02 апр 2014, 23:15

Re: ParseError for input string "1,5"

Сообщение montty »

Спасибо!
Vadim
Сообщения: 107
Зарегистрирован: 04 апр 2013, 12:26

Re: ParseError for input string "1,5"

Сообщение Vadim »

Здравствуйте.
Всегда рады вам помочь.
Ответить