X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fsolver%2Fformula%2FRoundupFormulaFunction.java;fp=bundles%2Forg.simantics.spreadsheet.graph%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fgraph%2Fformula%2FRoundupFormulaFunction.java;h=7ba59d7e49b59b0ed528b8b67a20663f0fd0ec79;hp=20c057a8952bebf086ea7f07ee1a8924ee782aae;hb=5c67a96d34fe904b8c4b0375cd08ff1d543bf369;hpb=9a37dabc6c0212ed3e14499c88df3208cd06f9b0 diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/RoundupFormulaFunction.java b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/formula/RoundupFormulaFunction.java similarity index 62% rename from bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/RoundupFormulaFunction.java rename to bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/formula/RoundupFormulaFunction.java index 20c057a89..7ba59d7e4 100644 --- a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/RoundupFormulaFunction.java +++ b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/formula/RoundupFormulaFunction.java @@ -1,27 +1,25 @@ -package org.simantics.spreadsheet.graph.formula; +package org.simantics.spreadsheet.solver.formula; -import org.simantics.spreadsheet.graph.CellFormulaFunction; -import org.simantics.spreadsheet.graph.CellValueVisitor; -import org.simantics.spreadsheet.graph.SpreadsheetGraphUtils; -import org.simantics.spreadsheet.graph.parser.ast.AstArgList; +import org.simantics.spreadsheet.Spreadsheets; +import org.simantics.spreadsheet.solver.formula.parser.ast.AstArgList; public class RoundupFormulaFunction implements CellFormulaFunction { @Override public Object evaluate(CellValueVisitor visitor, AstArgList args) { if (args.values.size() != 2) throw new IllegalStateException(); - + Object number = args.values.get(0).accept(visitor); Object digits = args.values.get(1).accept(visitor); - + FormulaError2 err1 = FormulaError2.forObject(number); if(err1!=null) return err1.getString(); FormulaError2 err2 = FormulaError2.forObject(digits); if(err2!=null) return err2.getString(); - - double n = SpreadsheetGraphUtils.asNumber(number); - double n2 = SpreadsheetGraphUtils.asNumber(digits); - + + double n = Spreadsheets.asNumber(number); + double n2 = Spreadsheets.asNumber(digits); + Double scale = Math.pow(10, n2); double l = Math.ceil(scale * n);