为了账号安全,请及时绑定邮箱和手机立即绑定

java中如何计算'1,000,000*2'等格式化字符串

java中如何计算'1,000,000*2'等格式化字符串

子衿沉夜 2023-06-04 10:30:10
我正在制作一个程序,该程序从包含有关价格详细信息的单元格中提取文本,并从包含有关价格信息的单元格中提取文本 excel 文件,然后比较它们。我成功地用 apache poi 提取了它们,但我不知道如何从包含有关价格详细信息的单元格中计算文本。这些文本有一些模式如下。\3,000*641存款(\10,000*105)牛肉(\20,900*3) + 可乐1.25L(\3,000*2)鸡肉(\22,900*3) - 折扣(\39,400)我认为有人会推荐在 apache poi 中使用公式评估。不幸的是,包含有关价格详细信息的单元格类型不是FORMULA 而是 STRING。我希望你能给我一些计算那些格式化文本的代码!
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

如果您可以提取表达式并将它们格式化以删除逗号等(即.replace(",", "")),那么您可以在 a 中运行代码ScriptEngine以自动解析和执行表达式。


ScriptEngineManager factory = new ScriptEngineManager();

// create a JavaScript engine

ScriptEngine engine = factory.getEngineByName("JavaScript");

// evaluate JavaScript code from String

Object x = engine.eval("100 * 3");

根据您传递给 eval 方法的字符串,它将返回什么样的对象。


查看完整回答
反对 回复 2023-06-04
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信