Click here to Skip to main content
13,048,584 members (92,758 online)
Click here to Skip to main content

Stats

339.1K views
9.7K downloads
408 bookmarked
Posted 26 Aug 2011

A Calculation Engine for .NET

, 1 Sep 2013
A calculation engine that is small, fast, and extensible.
´╗┐Imports System.Collections
Imports System.Reflection
Imports System.Globalization

Public Class Form1

    Public Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        ' create calc engine
        Dim ce As New CalcEngine.CalcEngine()

        ' register custom function
        ce.RegisterFunction("Add", 2, AddressOf Add)

        ' test
        Console.WriteLine(ce.Evaluate("Add(420, 123+123)"))

    End Sub

    Private Shared Function Add(ByVal p As List(Of CalcEngine.Expression)) As Object
        Return CDbl(p(0)) + CDbl(p(1))
    End Function

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles _btnEval.Click
        Dim ce As New CalcEngine.CalcEngine()
        _lblResult.Text = ce.Evaluate(_txtExpression.Text).ToString()
    End Sub
End Class





By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Bernardo Castilho
Chief Technology Officer ComponentOne
United States United States
No Biography provided

You may also be interested in...

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170713.1 | Last Updated 1 Sep 2013
Article Copyright 2011 by Bernardo Castilho
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid