[英]convert String to double with '%'
我有一个字符串值,例如“ 1.22%”。 我想将其转换为双精度值。 Douboe.parseDouble引发numberFormatException。
String s = "1.22%";
double iRate;
iRate = Double.parseDouble(s);
一线使用DecimalFormat :
double d = new DecimalFormat("0.0#%").parse("1.22%").doubleValue();
// d = 0.0122
您想要使用一种类似于以下方法的方法:
public static double ConvertPercentageStringToDouble(this string value)
{
return double.Parse(value.Replace("%","")) / 100;
}
假设您使用标准格式。 你可以试试
String s = "1.22%";
s = s.replaceAll("%","");
double iRate= Double.parseDouble(s);
更好的方法是使用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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.