用Double.parseDouble(String text);转换控制只能输入浮点数比较困难,只能自己扩充Textfield了。这东西缺少个常用的MaskText。

解决方案 »

  1.   

    控制只能输入小数和小数点即可
    这个可以用javascript很容易的实现getText()取到的是String类型的变量
    用Double.parseDouble(string)或者Float.parseFloat(string)都可以转换成浮点型的变量
      

  2.   

    对浮点的控制只能是对输入数据的格式进行控制,用正则表达式可以。
    转换可以用:float f=Float.perseFloat(theString)
             或 double d=Double.parseDouble(theString)。
      

  3.   

    xidongs (小妖 妖怪也能编程的,你不知道吗?) 
    我用Textfield输入个数
    如何控制只能输入浮点数?????
    你的需求有点变态,只要控制输入数字就行了,要为什么要特别要求输入浮点型的?
      

  4.   

    用Script中的onKeyPress来控制吧
    只对数字和点有效,具只能有一个点
      

  5.   

    Double类在把数字跟字符串转换时有科学技术发的运用,有时候照成麻烦,推荐用DecimalFormat类来转换。
      

  6.   

    1.用JavaScript 来实现
    2.Double.parseDouble(String text);这个方法!
      

  7.   

    在TextField的change事件处理方法里加入类似代码:
    TextField tf;
    try{
      Double.parseDouble(tf.getText());
    }
    catch(Exception e){
      String temp=tf.getText().substring(0,tf.getText().length()-1);
      tf.setText(temp);
    }
    土办法,但是应该奏效
      

  8.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.* ;
    import javax.swing.event.* ;//要得到只能输入浮点数的TextField ;
    class MainFrame extends JFrame {

    private boolean bDot = false ;
    private TextField tf = new TextField() ;
     
    public MainFrame() 
    {

        tf.addKeyListener(new KeyAdapter()
        {      
            public void keyTyped(KeyEvent event)
            {      
                 char ch = event.getKeyChar() ;
                 
                 
                 if(ch == '-') //负号不是出现在第一位
                 {
                  if( !tf.getText().equals("") )
                     event.consume() ;
                 }
                 
                 else if(ch == '.' )  //点号是不是已经出现过
                 {
                       if( bDot == false ) 
                       {
                          if( !tf.getText().equals("")&& !tf.getText().equals("-") ) 
                           bDot = true ;  //接受
                          else 
                           event.consume() ;
                       }    
                       else if(bDot == true)     
                           event.consume() ;
                 }     
                 
                 else if(  ch > '9' || ch <'0' )
                 {   
                    if(ch!='\b')
                        event.consume() ;
                 }
           
              }
          } ) ; 
          
          Container contentPane = getContentPane() ;
          
          contentPane.add(tf) ;
          setSize(500,500) ;
    }
    }    class C 
    {
    public static void main(String args[]) 
    {
    System.out.println("Starting C...");

    MainFrame frame = new MainFrame( ) ;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
    frame.setVisible(true) ;

    }
    }至于得到数据则可用
    double data ;try{
      Double.parseDouble(tf.getText());
    }
    catch(Exception e){
     //处理退出            
    }