在java中将%和$等特殊字符转换为双精度字符

在java中将%和$等特殊字符转换为双精度字符,java,double,special-characters,Java,Double,Special Characters,我有一个字符串,其中包含特殊字符,如“$”和“%”。当我使用double.parseDouble()方法将字符串转换为double时,字符串部分转换得很好,但方法忽略了$或%。我想用输出对“$”或“%”进行后期修复。我能做什么 例如: public static void main(String args[]){ double dm; String st = "12.27%" double fn = getDoubleValue(st, dm); System.out.println("fina

我有一个字符串,其中包含特殊字符,如“$”和“%”。当我使用
double.parseDouble()
方法将字符串转换为double时,字符串部分转换得很好,但方法忽略了$或%。我想用输出对“$”或“%”进行后期修复。我能做什么

例如:

public static void main(String args[]){
double dm;
String st = "12.27%"
double fn = getDoubleValue(st, dm);
System.out.println("final value of double " + fn);
}
double getDoubleValue(String st, double dValueForNull) {
        if (st == null || st.trim().length() <1)
        return dValueForNull;
        try {
            return Double.parseDouble(st);
            } catch (Exception e) {
            return dValueForNull;
        }
    }
publicstaticvoidmain(字符串参数[]){
双dm;
字符串st=“12.27%”
double fn=getDoubleValue(st,dm);
System.out.println(“双精度的最终值”+fn);
}
double getDoubleValue(字符串st,double dValueForNull){

如果(st==null | | st.trim().length()请尝试DecimalFormat。文档中有一个示例


你不能把这些符号加倍。我知道,但是有没有一种方法可以把这些符号放在输出中而不转换字符串中的输出?很难理解你到底想要达到什么或者你的用例是什么,但是请考虑这个<代码> Stray.Out.PrtLn(double .PARSEdouble(ST.String(0,StRangthTh)- 1))+“”。+st.charAt(st.length()-1));
Sergei Sirik,我只想将这些符号作为后缀添加到double.parseDouble()方法生成的双输出中。上面提供的解决方案对%symbol很有效。但对$symbol不起作用。