gpt4 book ai didi

java - java - 如何在java中将带有美元符号的字符串数值转换为BigDecimal?

转载 作者:IT老高 更新时间:2023-10-28 20:32:08 31 4
gpt4 key购买 nike

我有一个字符串格式的美元金额。例如:字符串 salePrice = $348.00。

但是,我想将此 String 值转换为 BigDecimal 值,但它在字符串中有一个美元符号。我尝试了下面的代码,但它不起作用。

BigDecimal sPrice = new BigDecimal(salePrice);

我最终在下面得到了这个异常:

java.lang.NumberFormatException
at java.math.BigDecimal.<init>(Unknown Source)
at java.math.BigDecimal.<init>(Unknown Source)

最佳答案

BigDecimal Constructor取一个有效的数字字符串。

The String representation consists of an optional sign, '+' ('\u002B') or '-' ('\u002D'), followed by a sequence of zero or more decimal digits ("the integer"), optionally followed by a fraction, optionally followed by an exponent.

String salePrice = "$348.00";
String price = salePrice.replace("$","");
BigDecimal sPrice = new BigDecimal(price);
System.out.println(sPrice);

输出 = 348.00

您也可以查看NumberFormat类(class)。使用这个类你可以设置你对应的Locale

String salePrice = "$123.45";
Locale locale = Locale.US;
Number number = NumberFormat.getCurrencyInstance(locale).parse(salePrice);
System.out.println(number);

输出 = 123.45

关于java - java - 如何在java中将带有美元符号的字符串数值转换为BigDecimal?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9023136/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com