- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我可以知道如何将字符串转义为十进制格式吗?
// currencySymbolPrefix can be any string.
NumberFormat numberFormat = new DecimalFormat(currencySymbolPrefix + "#,##0.00");
如何转义 currencySymbolPrefix
,以便它可以包含包括“#”在内的任何字符,并且不会被解释为模式之一。
请勿推荐
NumberFormat numberFormat = new DecimalFormat("#,##0.00");
final String output = currencySymbolPrefix + numberFormat.format(number);
因为我供应商的方法只接受单一的 NumberFormat。
最佳答案
您可以使用撇号来引用:
String pattern = "'" + currencySymbolPrefix + "'#,##0.00";
NumberFormat numberFormat = new DecimalFormat(pattern);
如果 currencySymbolPrefix
本身可能包含撇号,您需要通过将它们加倍来转义它们:
String pattern = "'" + currencySymbolPrefix.replace("'", "''") + "'#,##0.00";
关于java - 如何转义要传递给 DecimalFormat 的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3540790/
我有这个代码: public double theInterest(){ return (accountBalance*i) +accountBalance; 我的问题是,有没
我有一个 DecimalFormat ,其模式如下 "#,###.###"但是,当我想输入例如 50.05 时,它不允许这样做,因为每次文本更改以及调用 时,我都会将字符串解析为数字 df.parse
在Java中,我试图让DecimalFormat强制指数符号上的符号。当它是积极的我需要一个加号出现。从我读到的内容来看,这似乎是理所当然的,但对我自己来说,它总是会引发错误。我知道可能还有其他方法可
我在使用 DecimalFormat 时遇到了最奇怪的事情。 我在网络应用程序中使用它。我设置了一些测试,但它在本地一直失败。我的一个 friend 运行了它,他能够成功运行 JUnit 测试。 奇怪
有人知道我在这里做错了什么吗?我有一个 float ,假设它是 0.04。格式化后变成0.03。显然输出结果已经比输入低0.01了。 这是我的代码: float creditAvailableProp
我想使用 DecimalFormat 将 float 格式化为给定的精度。我有的是这个 val formatter = DecimalFormat(if (precision > 0) "#0.${"
我正在为学校编写一个收银机程序,并添加一个“当前价格”标签。到目前为止,一切都很好。我试图使价格显示为 2 位小数,如果没有这种格式,它将显示 10 位以上小数的价格。这是我的代码: double a
我正在尝试为百万位小数的小数格式设置撇号分隔符。我收到格式错误的错误。 String text = ".000'000"; DecimalFormat dformat = new DecimalFor
目前,我在显示格式化小数时遇到问题。在我的本地计算机中,我有一个十进制值:0.002100000000 存储在数据库中。 @FacesConverter("bigDecimal4DigitsConv
我正在尝试格式化金额。但是小数值没有以正确的方式四舍五入。 public class Testing { private java.text.DecimalFormat dispAmt;
我正在使用 DecimalFormatter 读取格式化的十进制字符串值并将其转换为 float 。但是,当我运行时: DecimalFormat formatter = new Decima
我使用十进制格式在“.”之后获取 2 个数字,当区域设置为美国或法国时,它工作正常,但当区域设置为 Ar(阿拉伯语)时,它会给出此错误: java.lang.NumberFormatException
我想显示最多 6 位小数的 GPS 坐标。例如如果我的 GPS 位置类似于 x.yyyyyyyyyy,我只想显示 x.yyyyyy,为此我使用 DecimalFormat 类。但是,如果数字类似于 8
我的代码如下: DecimalFormat df = new DecimalFormat("0.##"); return Double.parseDouble(df.format(sum)); Sum
我尝试在 Android 中使用 NumberFormatter 格式化数字。我使用下面的代码,它工作得很好: NumberFormat formatter = new DecimalFormat(
我有一个以便士为单位的整数货币(例如:1234)。我需要输出为:$12.34。我们不允许在此赋值中使用 double 或 float ,只能使用整数。 这是我所拥有的: totalChange = 1
我想将所有数字四舍五入到小数点后 1 位。 例如 22.0 -6.1 我正在使用: DecimalFormat decimalFormat = new DecimalFormat("0.0"); mi
目前,我在 JTable 中显示了具有 3 位小数的 BigDecimal 值。当我得到的值为 2.500 或 1.000 时,我想要 2.5 和 1.0。这就是我尝试这个的原因:
我使用DecimalFormat类将数字格式化为字符串,反之亦然。 在我的数据库中,Java double 以特定方式表示:例如 128.88 存储为“00012888”。为了实现这一点,我使用“00
收到所有的问候。 我需要验证一个文本对应于一个数字。项目区域设置为 es_CO。我现在遇到的问题是,带有用作小数点分隔符的句点的文本被解析为整数,而这应该是一个错误,因为在上述位置,小数点分隔符是一个
我是一名优秀的程序员,十分优秀!