We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

ASPOSE suffers from double precision problem

below 2 examples with roundup and rounddown (look at console output), please resolve ASAP:

Workbook workbook = new Workbook();

Worksheet orders = workbook.Worksheets[0];

orders.Name = "orders";

Range range = orders.Cells.CreateRange("A2", "A2");

range.Name = "OPENLEVEL";

orders.Cells["A2"].PutValue(159.84);

orders.Cells["G7"].Formula = "=0.01*ROUNDUP(MAX(OPENLEVEL,IF(MAX(160.36,OPENLEVEL+0.3336,OPENLEVEL+0.3092)>MAX(158.98,MIN(158.841313202,OPENLEVEL-0.944896552)),MAX(160.36,OPENLEVEL+0.3336,OPENLEVEL+0.3092),#N/A))/0.01,0)";

workbook.CalculateFormula();

Console.WriteLine(orders.Cells["G7"].Value + "==160.36");

orders.Cells["A2"].PutValue(151.42);

orders.Cells["G7"].Formula = "=0.01*ROUNDDOWN(MIN(OPENLEVEL,IF(MIN(OPENLEVEL,IF(153.69>OPENLEVEL,OPENLEVEL,#N/A))OPENLEVEL,OPENLEVEL,#N/A)),#N/A))/0.01,0)";

workbook.CalculateFormula();

Console.WriteLine(orders.Cells["G7"].Value + "==151.42");

workbook.Save("test8.xls");

Hi,

Thanks for providing us the details with sample code.

Yes, we found the issue related second decimal point value, we will figure it out soon.

Thank you.

Hi,

Please try this fix.