0033【Edabit ★☆☆☆☆☆】【字符串表达式计算器】Miserable Parody of a Calculator

0033【Edabit ★☆☆☆☆☆】【字符串表达式计算器】Miserable Parody of a Calculator

algebra math strings

Instructions

Create a function that will handle simple math expressions. The input is an expression in the form of a string.

Examples
javascript 复制代码
calculator("23+4") // 27
calculator("45-15") // 30
calculator("13+2-5*2") // 5
calculator("49/7*2-3") // 11
Notes
  • There will be no brackets in the input line.
  • No need to calculate mathematical functions (sin, cos, ln...).
  • There are no gaps in the expression.
Solutions
javascript 复制代码
function calculator(str) {
    return eval(str)
}
TestCases
javascript 复制代码
let Test = (function(){
    return {
        assertEquals:function(actual,expected){
            if(actual !== expected){
                let errorMsg = `actual is ${actual},${expected} is expected`;
                throw new Error(errorMsg);
            }
        }
    }
})();

Test.assertEquals(calculator("23+4"), 27)
Test.assertEquals(calculator("45-15"), 30)
Test.assertEquals(calculator("13+2-5*2"), 5)
Test.assertEquals(calculator("49/7*2-3"), 11)
Test.assertEquals(calculator("2+2*2"), 6)
Test.assertEquals(calculator("5/2"), 2.5)
Test.assertEquals(calculator("-34/4"), -8.5)
Test.assertEquals(calculator("0+43-0+56*0"), 43)
Test.assertEquals(calculator("-14*2-37-0"), -65)
Test.assertEquals(calculator("0*0"), 0)
Test.assertEquals(calculator("4+2+3-5*2-8/4-12-0+3-14"), -26)
Test.assertEquals(calculator("9/2+9/4"), 6.75)
Test.assertEquals(calculator("56*27*18*12/2*0"), 0)
Test.assertEquals(calculator("34/4*0*45*7"), 0)
相关推荐
山楂树の5 小时前
图像标注大坑:img图片 + Canvas 叠加标注,同步放大后标注位置偏移、对不齐?详解修复方案及亚像素处理原理
前端·css·学习·canva可画
本山德彪5 小时前
我做了一个拼豆图纸生成器,把照片秒变图纸
前端
one_love_zfl5 小时前
java面试-微服务组件篇
java·微服务·面试
一只大袋鼠5 小时前
Java进阶:CGLIB动态代理解析
java·开发语言
环流_5 小时前
HTTP 协议的基本格式
java·网络协议·http
爱滑雪的码农5 小时前
Java基础十三:Java中的继承、重写(Override)与重载(Overload)详解
java·开发语言
【 】4235 小时前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++
茉莉玫瑰花茶5 小时前
LangChain 核心组件 [ 2 ]
java·数据库·langchain
DTrader5 小时前
用TS无法实盘量化? - 实盘均线策略
前端·api
进击的夸父5 小时前
vfojs:Vue 超集架构,外壳React灵魂Vue
前端