繁体   English   中英

在Java中将String转换为浮点数

[英]Convert a String to floating point number in java

我正在尝试将字符串pprice转换为浮点数。 但是,对象的价格属性(浮动pt类型)设置为0.00 ..有人可以告诉我有什么问题吗?

String pprice="60.0"
String tokens[]=pprice.split(".");
if(tokens.length>=2)
{
    int a=Integer.parseInt(tokens[0]);
    int b=Integer.parseInt(tokens[1]);
    float a1=(float)a;
    float b1=(float)b;
    Float price=a1+(b1/100);
    prod.setProductPrice(price);
}
else if(tokens.length==1)
{
    int a=Integer.parseInt(tokens[0]);
    float a1=(float)a;
    prod.setProductPrice(a1);
}

使用Double.parseDouble(string)或Float.parseFloat(string);

你的问题在这里:

    String tokens[]=pprice.split(".");

split的参数是正则表达式,“。” 是一个匹配任何单个字符的正则表达式。 要仅匹配点,您需要使用反斜杠将其转义,并且由于反斜杠也是特殊的,因此您需要将其加倍。

    String tokens[]=pprice.split("\\.");

改变它,你的代码应该工作。

你可能最好使用其他答案中提到的解析方法之一。

我们来试试float.parseFloat("60.0"); Double.parseDouble("60.0");

你为什么不用这样的东西:

float price = Float.valueOf(pprice.trim());

(相当于Float.parseFloat(string))

float urfloat=Float.parseFloat(String string)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM