相关推荐
-
根据字符串表达式计算结果
因各个项目中需要使用根据字符串计算数值,这里写出一个算法,专门计算字符串。配有大量常用公式。只有一个人方法,直接调用即可。 类名:CustomMath 函数名:Calculations(string value) 说明:求解算式表达式字符串的值 表达式中包含的符号或函数: truncate, ceiling,floor,round,log10, sign,sinh,sqrt, asin,atan,cosh, tanh, sin,cos,tan ,abs,acos, exp,log,max,min,pow,mod,+,-,*,/,',',(,) 函数说明:(不区分大小写) truncate(num) 计算指定数的整数部分 truncate(1.23)=1 ceiling (num) 返回大于或等于指定的双精度浮点数的最小整数值 ceiling(1.23)=2 floor(num) 返回小于或等于指定双精度浮点数的最大整数 floor(1.23)=1 round(num) 将双精度浮点值舍入为最接近的整数值 round(1.23)=1 round(num,num1) 将小数值按指定的小数位数舍入 round(1.23,1)=1.2 log10(num) 返回指定数字以 10 为底的对数 log10(10)=1 sign(num) 返回表示数字符号的值 sign(1.23)=1 sinh(num) 返回指定角度的双曲正弦值 sinh(1.23)=1.5644 sqrt(num) 返回指定数字的平方根 sqrt(9)=3 sqrt(num,num1) 返回指定数字的num1根 sqrt(27,3)=3 asin(num) 返回正弦值为指定数字的角度 asin(0.5)=PI/6 atan(num) 返回正切值为指定数字的角度 atan(1)=45 cosh(num) 返回指定角度的双曲余弦值 cosh(1.23)=1.8567 tanh(num) 返回指定角度的双曲正切值 tanh(1.23)=0.8425 sin(num) 返回指定角度的正弦值 sin(PI/6)=0.5 cos(num) 返回指定角度的余弦值 sin(PI/3)=0.5 tan(num) 返回指定角度的余切值 sin(PI/4)=1 abs(num) 返回数字的绝对值 abs(-12)=12 acos(num) 返回余弦值为指定数字的角度 acos(0.5)=PI/3 exp(num) 返回 e 的指定次幂 exp(1)=2.718 log(num) 返回指定数字的自然对数(底为 e) log(e)=1 log(num,num1) 返回指定数字在使用指定底时的对数 log(e,e)=1 max(num,um1) 返回最大值 max(1,2)=2 min(num,num1) 返回最小值 min(1,2)=1 pow(num,num1) 返回指定数字的指定次幂 pow(2,2)=4 mod(num,num1) 返回余数 mod(3,2)=1 常量: PI 值:3.14159265358979323846 E 值:2.7182818284590452354 YEAR 值:当前年份 MONTH 值:当前月份 DAY 值: 当前日 HOUR 值:当前时 MINUTE 值:当前分 SECOND 值:当前秒 RANDOM 值:一个随机数(0-1 之间) 实例 系统计算:1+2*3/4-0.5=2 函数计算:1+2*3/4-0.5=2 调用方式:CustomMath.Calculations("1+2*3/4-0.5") 系统计算:(1+2)*3/4-0.5=1.75 函数计算:(1+2)*3/4-0.5=1.75 调用方式:CustomMath.Calculations("(1+2)*3/4-0.5") 系统计算:(sin(pi)+sqrt(3+5*7+(2+8/4*5+2)))/6=1.20185042515466 公式计算:(sin(pi)+sqrt(3+5*7+(2+8/4*5+2)))/6=1.20185042515466 调用方式:CustomMath.Calculations("(sin(pi)+sqrt(3+5*7+(2+8/4*5+2)))/6") 系统计算:sin(pow(3,2)/4)+3.5-9*sqrt(81)=-76.7219268031121 函数计算:sin(pow(3,2)/4)+3.5-9*sqrt(81)=-76.7219268031121 调用方式:CustomMath.Calculations("sin(pow(3,2)/4)+3.5-9*sqrt(81)")
-
编码技巧 --- 如何实现字符串运算表达式的计算
刚开始拿到这个需求还是有点头疼的,想了很久的方案,突然想到之前看数据结构的书的时候,提到过栈在表达式求值中的应用,翻书看了一下,还是被这个实现方案惊艳到了,所以,还是需要多读多看多思考,才能在面对各种需求游刃有余,加油~
-
字符串算术表达式求值-简单计算器实现(栈)-数据结构和算法(Java)
字符串算术表达式-简单计算器实现(栈)-数据结构和算法(Java)
-
字符串表达式计算器_从解析到求值的完整实现
本文还有配套的精品资源,点击获取 简介:编程中处理字符串表达式并计算其值是一项基本任务,涉及解析、语法分析、操作符优先级、括号匹配等重要概念。本内容将详细介绍如何将字符串表达式转换为可执行代码片段,并涵盖递归下降解析、逆波兰表示法、基于栈的表达式求值算法、异常处理以及性能优化和安全考量。掌握这些知识点有助于开发者创建安全准确的程序,应用于多种实际项目场合。 1. ...
-
关于字符串表达式求值
由于自身思维不够活跃,思考问题逻辑不够清晰,所以小弟的师傅给小弟我布置了个作业,字符串表达式求值,以此希望达到锻炼我思维逻辑能力的目的。 历时14天,完成作业,相关知识以及技术并不高深,目的在于锻炼逻辑思维能力。在此也想跟有相关需要的同学们分享下解题思路,有不足之处也希望大家不吝赐教,指点出来。谢谢。 解决该问题时首先要解决判断运算符优先级问题,后来了解到后缀表达式(即逆波兰表达式)后,决定先讲表...
-
运算符+字符串
一(算术运算符): + ; - ; *(乘);/(除) ;%(取余) 对于 / 除法而言,左右两边都是整数,就会做相除取整运算 如果左右两边有一边为小数,就做正常的除法运算 ...
-
c#解析类 Evaluator 实现动态流程
这个叫Evaluator的类,可以实现你的功能。使用方法:Console.WriteLine("Test0: {0}", Evaluator.EvaluateToInteger("(30 + 4) * 2")); using System;using System.CodeDom;using System.CodeDom.Compiler;using Microsoft.CSharp;using ...
-
给定一个字符串计算式,计算结果
面试的一个题,当时只说了算法思路和大概实现步骤,现在我把完整的做出来,嗯嗯嗯,不晓得我这样算不算复杂,欢迎大家来建议,一起讨论讨论 给定一个计算式(包含加减乘除四则运算)字符串,计算结果 算法思想: 1)将操作数和操作符分别按顺序存放到数组中 此处我用到的方法是parseInt(str),此函数会返回字符串开头的整数;然后用字符串截取第一个字符str.substring(0...
-
C++语言实现:输入表达式字符串,求值
大二时的上机作业,验收通过,内含详细注释以及实验报告文档: 输入表达式字符串,以“=”表示结束, 计算并输出表达式值。 操作数可以是整数或实数,操作符有 “+”、“-”、“*”、“/”、“^”(乘方)和 “sin( )”(正弦)、“cos( )”(余弦)、“log( )(对数)、“ln( )”(自然对数)等函数。
-
java 中将字符串中运算符之间的变量截取出来
问: java 中将字符串中运算符之间的变量截取出来 例如:Stirng str=“a+b*c/d”; 获取出a,b,c,d放入数组中 问题补充:正则表达式我不熟,能不能给代码写处理参考参考啊 答: import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test {
-
计算字符串得出结果
需求: 在C#中对一个字符串进行计算得出结果。 例如:“1+2+66+33” 字符串中的数字可以变化,累加(这里偷懒了限定成累加)的次数可以变化。 思路/解决方案: 1. 用JavaScript中的Eval把字符串转成对象进行计算 用Com控件计算方法,引入MSScriptControl.ScriptControlClass 2.用DataTable().Compute计算方法 3...
-
[原创] 计算字符串公式得出数值.(CalculateExpression)
[原创] 计算字符串公式得出数值.(CalculateExpression)http://www.vjsdn.com/bbs/bbsTopicDetails.aspx?pid=244 转载于:https://www.cnblogs.com/vjsdn/archive/2009/10/15/1583959.html
-
字符串计算数值 模拟计算器运算
问题 D: 计算 时间限制: 1 Sec 内存限制: 128 MB ...
-
输入字符串计算式,输出计算结果
// Caclulator.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <string> #include <vector> #include <sstream> #include <stack> #include <deque> #include <queue> using namespace std; ////字符串转数字
-
算式类型字符串表达式读取并计算出结果(简单四则运算)--后缀表达式计算
package com.zpl.suanfa; import java.util.ArrayList; import java.util.List; import java.util.Stack; /** * 用于界面简单的四则运算字符串类型的表达式 * * @author zhangpengliang * * 算法知识:后缀表达式 a+b*c+(d*e+f)*g
-
算式为字符串时,进行求值
计算字符串类型的算式
-
leetcode:772. 公式字符串求值
给定一个字符串str,str表示一个公式,公式里可能有整数、加减乘除符号和左右 括号,返回公式的计算结果。【举例】 【说明】可以认为给定的字符串一定是正确的公式,即不需要对str做公式有效性检查。如果是负数,就需要用括号括起来,比如"4* (-3)“。但如果负数作为公式的开头 或括号部分的开头,则可以没有括号,比如”-3* 4"和"(-3* 4)"都是合法的。不用考虑计算过程中会发生溢出的情况。怎么思考: (1)先只考虑没有括号,而且只有正数相加减的情况 (2)然后考虑有括号 (3)最后思考:开头的负数的情
21 楼 wuzijingaip 2012-06-12 11:02
20 楼 sblig 2012-06-12 08:50
==========================
我说苹果神经病。 有人不同意么?
同意。
同意。
过了一些年后这类专利不应该被认为是专利
也是,如果这也是他的专利,那也是他的专利,那还怎么发展
19 楼 sblig 2012-06-12 08:48
18 楼 windmerlin 2012-01-05 13:02
哦……这是苹果的创新啊,摩托和诺基亚很早就有这功能了,那时候还没有iphone,我操,不要脸的摩托和诺基亚,居然派人穿越到未来抄袭了苹果的专利,苹果有必要请时空特警查清此事啊
呵呵,我觉得还是一个公司重心和定位的问题吧,说实在的Android的界面有很多创新,但好似Google从来没在这方面下功夫申请什么专利,听说iphone的下拉通知不也是....,所以还是公司的定位问题,Google就是希望自由和竞争,有竞争才有进步,也是自信的表现。没了老乔的苹果现在处处用心去找别人机器你的“专利”,我感觉苹果是不是已经没信心了,股东们是不是在拖时间,把利益最大化,然后拉倒走人的趋势呢。
no...苹果不是在没有老乔才这么干的,它一直都是这么干的, 苹果技术领域还是很强的, 但是营销策略是这个样子, 不停的申请专利怕后人居上
Android4.0界面还有和IOS一样的多个程序合并为文件夹呢 Google创新了 ?
17 楼 kingtay 2011-12-23 17:28
哦……这是苹果的创新啊,摩托和诺基亚很早就有这功能了,那时候还没有iphone,我操,不要脸的摩托和诺基亚,居然派人穿越到未来抄袭了苹果的专利,苹果有必要请时空特警查清此事啊
呵呵,我觉得还是一个公司重心和定位的问题吧,说实在的Android的界面有很多创新,但好似Google从来没在这方面下功夫申请什么专利,听说iphone的下拉通知不也是....,所以还是公司的定位问题,Google就是希望自由和竞争,有竞争才有进步,也是自信的表现。没了老乔的苹果现在处处用心去找别人机器你的“专利”,我感觉苹果是不是已经没信心了,股东们是不是在拖时间,把利益最大化,然后拉倒走人的趋势呢。
no...苹果不是在没有老乔才这么干的,它一直都是这么干的, 苹果技术领域还是很强的, 但是营销策略是这个样子, 不停的申请专利怕后人居上
16 楼 ylj817 2011-12-23 17:14
==========================
我说苹果神经病。 有人不同意么?
同意。
同意。
过了一些年后这类专利不应该被认为是专利
同意~
15 楼 tails 2011-12-23 15:11
14 楼 archy123 2011-12-23 14:33
13 楼 dsjt 2011-12-23 13:50
仅支持了电话号码等在文档上的显示专利,即短信中的电话号码会显示为蓝色或其它颜色,并可直接点击进入拨号界面拨出
这个专利虽然为外人所不齿,但是绝对是大胜利。google也太阿q了,
12 楼 bear_1066 2011-12-23 12:20
11 楼 windir 2011-12-23 12:03
==========================
我说苹果神经病。 有人不同意么?
同意。
同意。
过了一些年后这类专利不应该被认为是专利
10 楼 if(i!=我){} 2011-12-23 09:52
哦……这是苹果的创新啊,摩托和诺基亚很早就有这功能了,那时候还没有iphone,我操,不要脸的摩托和诺基亚,居然派人穿越到未来抄袭了苹果的专利,苹果有必要请时空特警查清此事啊
我看苹果很有必要这样做啊!!!记得04年左右诺基亚智能机上就见有这样的功能,肯定是偷来的技术否则早就申请专利了。
最好苹果研发下穿越时空的技术,这样一来时空特警办案都要交专利费,多牛啊!
9 楼 b_l_east 2011-12-23 09:47
哦……这是苹果的创新啊,摩托和诺基亚很早就有这功能了,那时候还没有iphone,我操,不要脸的摩托和诺基亚,居然派人穿越到未来抄袭了苹果的专利,苹果有必要请时空特警查清此事啊
呵呵,我觉得还是一个公司重心和定位的问题吧,说实在的Android的界面有很多创新,但好似Google从来没在这方面下功夫申请什么专利,听说iphone的下拉通知不也是....,所以还是公司的定位问题,Google就是希望自由和竞争,有竞争才有进步,也是自信的表现。没了老乔的苹果现在处处用心去找别人机器你的“专利”,我感觉苹果是不是已经没信心了,股东们是不是在拖时间,把利益最大化,然后拉倒走人的趋势呢。
8 楼 helloandroid100 2011-12-23 09:45
7 楼 wuzijingaip 2011-12-23 09:43
==========================
我说苹果神经病。 有人不同意么?
同意。
同意。
6 楼 wuzijingaip 2011-12-23 09:42
是的,本来挺想买它的,后来还是买了HTC
5 楼 wearyoudog 2011-12-23 09:36
哦……这是苹果的创新啊,摩托和诺基亚很早就有这功能了,那时候还没有iphone,我操,不要脸的摩托和诺基亚,居然派人穿越到未来抄袭了苹果的专利,苹果有必要请时空特警查清此事啊
4 楼 weedria 2011-12-23 09:32
3 楼 shuaiji 2011-12-23 09:28
2 楼 qiuboboy 2011-12-23 08:53
==========================
我说苹果神经病。 有人不同意么?
同意。