[英]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.