java 怎么将一个带小数点的数字字符串转换成数字

我做了个添加商品的界面可是添加的时候在价格的文本框中输入带小数点的数字时,就有异常。在获取文本框内容的时候加了Integer.p.....(不记怎么写了);异常说什么St... 我做了个添加商品的界面 可是添加的时候在价格的文本框中输入带小数点的数字时,就有异常。 在获取文本框内容的时候加了Integer.p.....(不记怎么写了);异常说什么 String 加文本框中的数字; 展开
 我来答
清正还谦卑的小桃花9143
2011-12-07 · TA获得超过430个赞
知道小有建树答主
回答量:366
采纳率:100%
帮助的人:404万
展开全部
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包起来,因为用户可能会输入不合法的字符串
pieryon
2015-08-25 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14411 获赞数:166862
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
java中带小数点的统统用double和float定义,比如有如下例子:
String ssss = "343.40";
double d = Double.valueOf(ssss);

这里调用Double.valueOf(ssss);就把字符串转换成数值型了。
打印出来是:343.40
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风唱能香巧
2019-11-30 · TA获得超过4131个赞
知道大有可为答主
回答量:3156
采纳率:34%
帮助的人:182万
展开全部
你输入的是double型的数据,转换为Int型时出错了。
因为你是商品类需求,建议不要用double。
float/double存储数字只是模糊存储,会有差别。
比如0.1
用double
可能存为0.0999999999999。
建议用BigDecimal
BigDecimal
money=BigDecimal(String
val);这个方法
另外最好用下面的正则匹配一下输入的字符是否为数字
"[0-9]||\\."
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-12-07 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
可以这样
int price = (int)Double.parseDouble(yourText.trim());

你的异常是因为你想把2.25这样的直接转化为int类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2011-12-08 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
static double parseDouble(String s)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式