Страница 1 из 1

ParseError for input string "1,5"

Добавлено: 30 апр 2014, 13:39
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

Re: ParseError for input string "1,5"

Добавлено: 30 апр 2014, 14:16
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)
.....

Re: ParseError for input string "1,5"

Добавлено: 02 май 2014, 11:41
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)
.....

Re: ParseError for input string "1,5"

Добавлено: 28 май 2014, 12:09
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.

Re: ParseError for input string "1,5"

Добавлено: 28 май 2014, 12:41
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)

Re: ParseError for input string "1,5"

Добавлено: 28 май 2014, 15:04
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.

Re: ParseError for input string "1,5"

Добавлено: 28 май 2014, 16:01
montty
Спасибо!

Re: ParseError for input string "1,5"

Добавлено: 28 май 2014, 17:35
Vadim
Здравствуйте.
Всегда рады вам помочь.