Tag: 货币

货币代码到货币符号映射

美好的一天,在数据库中有表与房屋销售记录。 对于每个房屋记录,都有货币代码(ISO 4217格式)字段。 是否可能以某种方式从该代码中获取货币符号,以便我可以在演示文稿中使用它? 谢谢。 PS正在尝试解决该问题,将Currency对象(由Currency.getInstance(currencyCode)创建)设置为DecimalNumberFormat setCurrency方法,然后格式化我需要显示的值,但格式化值仍然没有货币符号。

根据国家/地区获取货币符号

我有一个显示货币的TextView。 默认情况下,我的textview的文本是: $0.00我如何根据用户选择进行$更改。 我有以下代码: Locale locale=new Locale(“en”, “US”); Currency currency=Currency.getInstance(locale); String symbol = currency.getSymbol(); Toast.makeText(getActivity(), symbol, Toast.LENGTH_SHORT).show(); 哪个显示$但是如果我有以下内容: Locale locale=new Locale(“en”, “AU”); Currency currency=Currency.getInstance(locale); String symbol = currency.getSymbol(); Toast.makeText(getActivity(), symbol, Toast.LENGTH_SHORT).show(); 它显示AU$而不是$ 如何在没有所有额外内容的情况下设置货币符号?

如果您有ISO国家代码`US`,`FR`,您如何获得Locale代码(`Locale.US`,`Locale.FRANCE`)?

如果你有国家代码US , FR (ISO-3166-1 alpha-2国家代码),你如何获得Locale代码( Locale.US , Locale.FRANCE )来做这样的事情: System.out.println(DecimalFormat.getCurrencyInstance(Locale.US).format(12.34)); System.out.println(DecimalFormat.getCurrencyInstance(Locale.FRANCE).format(12.34)); $12.34 12,34 €

使用Java的PostgreSQL上的Money数据

我正在编写一个挖掘货币兑换数据的Java程序。 数据可以有多个十进制数字,例如“0.973047”。 经过一些研究后,我发现BigDecimal是Java的正确数据类型,但我应该将哪种数据类型用于PostgreSQL?

Java:货币到区域设置映射可能吗?

我有一个存储在数据库中的值与货币金额相关,比如10.0。 我也可以访问Currency / CurrencyCode。 当我不知道Locale时,如何使用NumberFormat / DecimalFormat /(other?)格式化? 根据文档,它将选择一个不适用于外币的默认语言环境。

用Java格式化外部语言环境中的货币

我正在尽最大努力找到一种方法,使用Java在各种语言环境中格式化外币,这些语言环境不是该货币的默认值。 我找到了java.util.Currency,它可以代表用于各种语言环境的正确符号。 也就是说,对于美元而言,它为我提供了美国的符号$,以及其他国家的美元或美元。 另外,我找到了java.text.NumberFormat,它将格式化特定区域设置的货币。 我的问题 – util.Currency将提供适当的符号和代码,用于在非默认语言环境中表示货币,但不会以任何特定于语言环境的方式格式化货币。 NumberFormat假定我使用区域设置传递的数字是该区域设置的货币,而不是外币。 例如,如果我使用getCurrencyInstance(Locale.GERMANY)然后格式化(1000)它假定我格式化1000欧元。 实际上,对于USD,Yen或任何其他货币,我可能需要正确的德语本地化表示(正确的小数和千位分隔符,无论是在金额之前还是之后放置符号)。 到目前为止,我能够得到的最好的是使用NumberFormat格式化数字,然后在输出中搜索非数字字符,并用从util.Currency派生的符号替换它们。 但是,这非常脆弱,可能对我的目的来说不够可靠。 想法? 任何帮助深表感谢。

如何在Java中解析货币金额(美国或欧盟)浮动值

在欧洲,小数用’ , ‘分隔,我们使用可选’ 。 ‘分开成千上万。 我允许货币值: 美式123,456.78表示法 欧式123.456,78表示法 我使用下一个正则表达式(来自RegexBuddy库)来validation输入。 我允许可选的两位数分数和可选的千位分隔符。 ^[+-]?[0-9]{1,3}(?:[0-9]*(?:[.,][0-9]{0,2})?|(?:,[0-9]{3})*(?:\.[0-9]{0,2})?|(?:\.[0-9]{3})*(?:,[0-9]{0,2})?)$ 我想将货币字符串解析为浮点数。 例如 123,456.78应存储为123456.78 123.456,78应存储为123456.78 123.45应存储为123.45 1.234应存储为1234 12.34应存储为12.34 等等… 在Java中有一种简单的方法吗? public float currencyToFloat(String currency) { // transform and return as float } 使用BigDecimal而不是Float 感谢大家的回答。 我已将我的代码更改为使用BigDecimal而不是float。 我会用浮动来保留这个问题的前一部分,以防止人们犯同样的错误。 解 下一个代码显示了一个函数,它将美国和欧盟货币转换为BigDecimal(String)构造函数接受的字符串。 这就是说一个没有千分隔符的字符串和一个分数点。 import java.util.regex.Matcher; import java.util.regex.Pattern; public class TestUSAndEUCurrency { public static void main(String[] args) throws Exception { […]

Java中的美元货币格式

在Java中,我如何有效地将像1234.56和类似BigDecimals的浮点数转换为字符串,如$1,234.56 我正在寻找以下内容: 字符串12345.67变为String $12,345.67 我也希望用Float和BigDecimal来做这件事。

使用java将不同的国家货币转换为双倍

我有一个场景,我把货币作为一个字符串,例如: $ 199.00 R $ 399,00 £25.00 90,83€ AED 449.00 如何在java中将这些货币转换为双倍?

如何为Java 7中的现有国家/地区代码添加新的Currency到java.util.Currency?

例如,中国货币的ISO 4217代码为CNY 。 由于该货币的自由全球交易受到限制,因此存在第二个“离岸”货币等价物,称为CNH 。 维基百科对这一切有一点总结 。 在Java 7 ,有一种方法可以更新 JVM附带的三个字母ISO 4217代码集。 但是,它不能用于向现有国家/地区代码添加单独的货币代码:它会用CNH取代CNY ,这对我的目的不利。 如何在不覆盖CNY情况下将CNH (不在ISO 4217列表中)添加到Java 7的可用货币集中? 换句话说,如何为一个国家/地区获取多种货币代码? 请注意,这个问题: 如何将新货币代码添加到Java? 被问到并回答了Java 6 。 但是替换java.util.CurrencyData的策略不起作用,因为该文件不再存在。