Topic: 请教string型转实型的问题,急等……

  Print this page

1.请教string型转实型的问题,急等…… Copy to clipboard
Posted by: jimoyh
Posted on: 2005-01-17 16:49

在string转实型的过程中
如果该string内有非法字符会抛出异常
但是如果包含f或者d的话则不一定
如:10d,12.23f,等不会抛出异常
请问类似的怎么校验是否有非法字符啊???
各位请不吝赐教!!
小弟先行谢过!!

2.Re:请教string型转实型的问题,急等…… [Re: jimoyh] Copy to clipboard
Posted by: 齐彬
Posted on: 2005-01-17 18:56

这是string型么?我怎么感觉象数字型啊。
我是菜鸟,搬个凳子等答案。

3.Re:请教string型转实型的问题,急等…… [Re: jimoyh] Copy to clipboard
Posted by: cxy19822003
Posted on: 2005-01-17 19:56

class Hello{
  
  static String s=new String("10.22d");
  public static void main(String[] args){
    
   try{
      System.out.println(Float.parseFloatMoon);
  
   }
   catch(Exception e){

        System.out.println(e.toString()+"\n"+e.getMessage());
   }
  }
}
上面这个程序它编译和运行都不会有错
再看下面一个,我把10.22d改成10.22q
class Hello{
  
  static String s=new String("10.22d");
  public static void main(String[] args){
    
   try{
      System.out.println(Float.parseFloatMoon);
  
   }
   catch(Exception e){

        System.out.println(e.toString()+"\n"+e.getMessage());
   }
  }
}
编译可以,运行出现如下错误

4.Re:请教string型转实型的问题,急等…… [Re: jimoyh] Copy to clipboard
Posted by: cxy19822003
Posted on: 2005-01-17 20:06

在java有这样一中写法比如说
一个长整形的数 3 也可以写成---------------》3L
一个单精度的10.22 也可以写成-------------》10.22f
一个双精度的10.22 也可以写成-------------》10.22d
上面这些都是符合规则的写法,而第二个程序10.22q其中的q程序是不认识的。也就是说他只是一个字符串而不是浮点数

5.Re:请教string型转实型的问题,急等…… [Re: jimoyh] Copy to clipboard
Posted by: cxy19822003
Posted on: 2005-01-17 20:09

不好意思,那上面的Float.parseFloat后面应该是(s),系统把我的换了

6.Re:请教string型转实型的问题,急等…… [Re: jimoyh] Copy to clipboard
Posted by: jimoyh
Posted on: 2005-01-18 16:01

也就是说10.23f和12.2d利用函数是不认为出错的对么?
函数认为它仍然是可以转成数字的?
那如果我定义它不应该为数字,也就是说我认为10.23f转成浮点是错的话,是不是必须判断该字符串的末位啊?
有其他的办法么?
谢谢楼上的。实际上你已经解决了我的问题了,只是想再跟你讨论一下,再次感谢!!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923