java 怎么将一个带小数点的数字字符串转换成数字
发布网友
发布时间:2022-05-12 23:01
我来回答
共5个回答
热心网友
时间:2023-10-28 23:43
Integer.parseInt(String s)中的参数s必须要是整数字符串,不能是浮点,或含有非数字的字符,如果要验证输入是否正确可以这样写:
Integer price = null;
try {
price = Integer.parseInt(s);
} catch (Exception e) {
e.printStackTrace();
}
if (price == null) {
System.out.println("数字格式错误");
}
如果你的价格允许输入小数的话可以使用float或double,如:
float price = Float.parseFloat(s);
double price = Double.parseDouble(s);
但最好都用try/catch包起来,因为用户可能会输入不合法的字符串
热心网友
时间:2023-10-28 23:44
java中带小数点的统统用double和float定义,比如有如下例子:
String ssss = "343.40";
double d = Double.valueOf(ssss);
这里调用Double.valueOf(ssss);就把字符串转换成数值型了。
打印出来是:343.40
热心网友
时间:2023-10-28 23:44
你输入的是double型的数据,转换为Int型时出错了。
因为你是商品类需求,建议不要用double。
float/double存储数字只是模糊存储,会有差别。
比如0.1
用double
可能存为0.0999999999999。
建议用BigDecimal
BigDecimal
money=BigDecimal(String
val);这个方法
另外最好用下面的正则匹配一下输入的字符是否为数字
"[0-9]||\\."
热心网友
时间:2023-10-28 23:45
可以这样
int price = (int)Double.parseDouble(yourText.trim());
你的异常是因为你想把2.25这样的直接转化为int类型
热心网友
时间:2023-10-28 23:45
static double parseDouble(String s)