gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:07 24 4
gpt4 key购买 nike

我正在制作一个程序,它从包含有关价格详细信息的单元格中提取文本,并从包含有关价格信息的单元格中提取 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。

我希望你能给我一些计算这些格式化文本的代码!

最佳答案

如果您可以提取表达式并格式化它们以删除逗号等(即 .replace(",", "")),那么您可以在 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 方法的字符串,它会返回什么样的对象。

关于java - 如何在java中计算格式化字符串如 '1,000,000*2',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57448010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com