如何解决如何在 Java 的 DecimalFormat 中使用加点到货币?
1.234,56 kr。
目前我正在使用
pattern = "#,##0.00 ¤";
new DecimalFormat(pattern);
这不起作用,因为丹麦克朗出于某种原因被定义为 kr 而不是官方认可的 kr。
我一直在寻找一种使用 Unicode 值来转义这些字符的方法,我将添加到模式中,但这不起作用。在此处的 official 文档中,我也没有看到这样做的方法。
TLDR:我想在货币符号后添加句号。所以目前我有这样的 kr
,我想要的是 kr.
.
解决方法
如果您只想要货币符号后的点,您可以设置自定义货币符号。在这里,我使用欧元(请注意,您可以使用 my_symbol.getCurrencySymbol()+"." 而不是 "€.",如果您想要所有货币,而不仅仅是一种货币):
DecimalFormatSymbols my_symbol = new DecimalFormatSymbols();
my_symbol.setCurrencySymbol("€.");
String pattern = "###,###.###¤";
DecimalFormat decimalFormat1 = new DecimalFormat(pattern,my_symbol);
String format = decimalFormat1.format(987654321.321);
System.out.println(format);
这给了
987.654.321,321€.
,
货币值的输出取决于各自的国家/地区设置。如果您想像您的情况一样显式地使用小数点,则必须为 plotting <- function(RP,title) {
parC <- list(unit=100,labelx="Time",labely="Time",cols="black",pcex=.01,pch=1,las=1,labax=seq(0,nrow(RP),100),labay=seq(0,100))
...
plot(tstamp,tstamp,type="n",xlab="",ylab="",xaxt="n",yaxt="n",main=title)
...
}
params <- expand.grid(RP_values=RP_values,name=name)
out <- mapply(plotting,RP=params$RP_values,title=params$name)
设置相应的语言环境。例如。英语一点。
例如:
Numberformat
编辑:如果您需要更多控制,您还可以执行以下操作:
public String FormatWithPoint(double yourValue){
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
nf.setGroupingUsed(false);
return nf.format(yourValue);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。