使用 '%' 将 String 转换为 double
convert String to double with '%'
我有一个像“1.22%”这样的字符串值。我想将其转换为双倍值。
Douboe.parseDouble 抛出 numberFormatException。
String s = "1.22%";
double iRate;
iRate = Double.parseDouble(s);
假设你有标准格式。你可以试试
String s = "1.22%";
s = s.replaceAll("%","");
double iRate= Double.parseDouble(s);
您想使用类似于以下方法的方法:
public static double ConvertPercentageStringToDouble(this string value)
{
return double.Parse(value.Replace("%","")) / 100;
}
更好的方法是使用 DecimalFormatSymbols,它可以帮助您定义什么是 simbols,什么是要转换为 Double 的真正数字。
参见下面的示例:
String s = "1.22%";
DecimalFormat df = new DecimalFormat();
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator('.');
symbols.setGroupingSeparator(' ');
symbols.setPercent('%');
df.setDecimalFormatSymbols(symbols);
Number parse = df.parse(s);
Double myDouble = parse.doubleValue();
System.out.println(myDouble);
单行使用 DecimalFormat:
double d = new DecimalFormat("0.0#%").parse("1.22%").doubleValue();
// d = 0.0122
我有一个像“1.22%”这样的字符串值。我想将其转换为双倍值。 Douboe.parseDouble 抛出 numberFormatException。
String s = "1.22%";
double iRate;
iRate = Double.parseDouble(s);
假设你有标准格式。你可以试试
String s = "1.22%";
s = s.replaceAll("%","");
double iRate= Double.parseDouble(s);
您想使用类似于以下方法的方法:
public static double ConvertPercentageStringToDouble(this string value)
{
return double.Parse(value.Replace("%","")) / 100;
}
更好的方法是使用 DecimalFormatSymbols,它可以帮助您定义什么是 simbols,什么是要转换为 Double 的真正数字。
参见下面的示例:
String s = "1.22%";
DecimalFormat df = new DecimalFormat();
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator('.');
symbols.setGroupingSeparator(' ');
symbols.setPercent('%');
df.setDecimalFormatSymbols(symbols);
Number parse = df.parse(s);
Double myDouble = parse.doubleValue();
System.out.println(myDouble);
单行使用 DecimalFormat:
double d = new DecimalFormat("0.0#%").parse("1.22%").doubleValue();
// d = 0.0122