Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android应用程序中用货币字符串替换符号?_Java_Android_Dictionary_Currency - Fatal编程技术网

Java 如何在Android应用程序中用货币字符串替换符号?

Java 如何在Android应用程序中用货币字符串替换符号?,java,android,dictionary,currency,Java,Android,Dictionary,Currency,来自Python,我正在尝试创建一个Android应用程序。我现在有了一个可以工作的东西,应该可以用几种货币显示金额。在我的数据库中,我将货币存储为三个字母字符串(“欧元”、“英镑”、“美元”等)。因为我想显示货币(欧元、英镑、美元)的符号,所以我在考虑如何做到这一点 我当然可以创建一个if-elseif-elseif-etc,但这似乎不是最好的解决方案。我需要能够在应用程序的不同部分重用代码,并且将代码放入一个单独的文件似乎更符合逻辑,可能是某种类似字典的结构 但据我所知,我总是需要用Java

来自Python,我正在尝试创建一个Android应用程序。我现在有了一个可以工作的东西,应该可以用几种货币显示金额。在我的数据库中,我将货币存储为三个字母字符串(“欧元”、“英镑”、“美元”等)。因为我想显示货币(欧元、英镑、美元)的符号,所以我在考虑如何做到这一点

我当然可以创建一个if-elseif-elseif-etc,但这似乎不是最好的解决方案。我需要能够在应用程序的不同部分重用代码,并且将代码放入一个单独的文件似乎更符合逻辑,可能是某种类似字典的结构

但据我所知,我总是需要用Java创建一个类。这是否也意味着在使用类中的函数之前,我总是需要创建类的实例/对象


所以来回答我的问题;有人知道我如何解决这个用货币字符串代替符号的问题吗?欢迎所有提示

一个有限的解决方案是使用
java.util.Currency
。您可以执行以下操作

Currency currency = Currency.getInstance("EUR");
System.out.println(currency + " " + currency.getSymbol(Locale.ITALY));
哪张照片

EUR €
它是有限的,因为您需要知道将
EUR
正确映射到符号的
Locale
。如果我们有

Currency currency = Currency.getInstance("EUR");
System.out.println(currency + " " + currency.getSymbol(Locale.CANADA));
它会打印出来

EUR EUR

不,那不受限制,那太完美了!我有货币字符串,所以这将得到我的符号!非常感谢@kramer65不,遗憾的是,货币字符串是不够的。您需要相应的
区域设置
。getSymbol也可以在不提供区域设置的情况下工作。检查。谢谢你的解决方案@kramer65慢一点,哈哈。你会注意到它说它相当于
getSymbol(Locale.getDefault())
。您的默认区域设置可能无法将字符串代码转换为符号。嗯,您是对的。大多数情况下,这会很好,但这确实意味着,如果加拿大的人想使用欧元,它将失败。事实上很奇怪,因为欧元只能指欧元,就像美元只能指美元一样。。还有其他解决办法吗?您是否也有一个建议,我可以创建一个类似字典的对象来将字符串映射到符号或其他东西?