从格式化金额中提取货币

发布于 2024-12-07 03:28:32 字数 329 浏览 1 评论 0原文

我从网络服务中获取格式化的金额。它可以采用不同的格式并使用不同的货币,例如

  • $ 1.10
  • € 1,10
  • 1,10 €
  • EUR 1.10 code> (也许,我不确定我是否真的会遇到这个)

我想从中提取货币符号 ($),如果可能的话,获取关联的 Currency< /code> 对象 (Java) 来自那个符号。我不需要提取金额,我可以从其他地方获取。

I'm getting a formatted amount of money from a web service. It can be in different formats and using different currencies, e.g.

  • $ 1.10
  • € 1,10
  • 1,10 €
  • EUR 1.10 (perhaps, I'm not sure I'll actually encounter this one)

I would like to extract the currency symbol ($) from it, and if possible get the associated Currency object (Java) from that symbol. I don't need to extract the amount, I can get that somewhere else.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

尘世孤行 2024-12-14 03:28:32

您可以使用正则表达式来解析网络服务的结果。您必须过滤除数字、点和空格之外的所有字符。下面是正则表达式:

String regexp = "[^0-9\\.,\\s]*";

匹配结果的第一组是货币符号(或名称,例如欧元)。

这是我的示例方法:

public void test() throws Exception {
    String text = "2.02 $";
    String regexp = "[^0-9\\.,\\s]*";
    Pattern p = Pattern.compile(regexp);
    Matcher m = p.matcher(text);
    while (m.find()) {
        for (int i = 0; i < m.groupCount() + 1; i++)
            LOG.info(m.group(i));
    }
}

you can use a regular expression, to parse your result from the webservice. You have to filter all characters, except numbers, dots and whitespaces. Here is the regex for that:

String regexp = "[^0-9\\.,\\s]*";

The first group of the matching result is the currency symbol (or the name e.g. EUR).

Here is my sample method:

public void test() throws Exception {
    String text = "2.02 $";
    String regexp = "[^0-9\\.,\\s]*";
    Pattern p = Pattern.compile(regexp);
    Matcher m = p.matcher(text);
    while (m.find()) {
        for (int i = 0; i < m.groupCount() + 1; i++)
            LOG.info(m.group(i));
    }
}
盛夏尉蓝 2024-12-14 03:28:32

您可以看看 Joda Money,它可能会为您的问题提供解决方案。注意:仍然是0.6版本

You could have a look at Joda Money, it might offer a solution for your problem. Caution: it is still version 0.6

歌入人心 2024-12-14 03:28:32

java.util.Currency 中的 getSymbol() 方法将帮助您获取货币符号

getSymbol() method from java.util.Currency will help you to get the currency symbol

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文