java - 如何在 Java 的 DecimalFormat 中使用添加点到货币?
问题描述
我正在尝试找到一种用点显示货币的方法,例如它应该是
1.234,56 克朗
目前我正在使用
pattern = "#,##0.00 ¤";
new DecimalFormat(pattern);
这不起作用,因为出于某种原因,丹麦克朗在那里被定义为 kr 而不是官方认可的 kr。
我一直在寻找一种使用 Unicode 值转义这些字符的方法,我会添加到模式中,但这不起作用。在这里的官方文档中,我也看不到这样做的方法。
TLDR:我想在货币符号后添加句号。所以此刻我拥有这样的kr
,我想要得到的是kr.
。
解决方案
货币价值的输出取决于各自的国家设置。如果您想像您的情况一样明确地使用小数点,则必须为Numberformat
. 例如英语为一个点。
例如:
public String FormatWithPoint(double yourValue){
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
nf.setGroupingUsed(false);
return nf.format(yourValue);
}
编辑:如果您需要更多控制,您还可以执行以下操作:
public String FormatCurreny(double yourValue){
NumberFormat nf = NumberFormat.getCurrencyInstance();
nf.setGroupingUsed(false);
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setCurrencySymbol("kr.");
dfs.setMonetaryDecimalSeparator('.');
((DecimalFormat) nf).setDecimalFormatSymbols(dfs);
return nf.format(yourValue);
}
推荐阅读
- php - 函数 file_exists 总是返回 false
- angular - 在应用程序运行时将新的“observables”推送到“observables”列表,并使用 combineLatest - Angular 监听更改
- python - 我如何编写一个不和谐的机器人,以便它能够使用 python PIL 发布修改后的 gif 和/或 png 个人资料图片?
- c++ - C++20 通用 Lambda
- python - 如何使用 PyQtGraph 绘制图像上两点之间的水平距离
- jsp - 浏览器参数FilterConfig?=null
- regex - 在字符串中搜索多对字母(Ruby)
- flutter - If 语句更改 QuerySnapshot Flutter 中的图标颜色
- powershell - 如何在 Windows 上正确部署 PowerShell core Zip
- go - 在 go 中列出服务