在Intift中将Int值与格式化字符串进行比较时失败

时间:2015-08-28 02:49:56

标签: ios swift

我正在尝试将输入UITextField的数字与声明的常量Int进行比较。下面是我当前的代码,它在if语句中一直没有失败。

(我花了一些时间才找到将UITextField转换为Int的代码,因为它看起来比之前使用过的toInt()更改了2.0。)

我的最终目标是最终有几个UITextFields具有与常量进行比较的用户输入,然后取决于它们是否<或者>它会产生一个推荐。

class ViewController: UIViewController {

@IBOutlet weak var fshNumber: UITextField!

@IBOutlet weak var mdMessage: UILabel!


@IBAction func button(sender: AnyObject) {
    let fshLimit:Int = 100
    var fshInt = NSNumberFormatter().numberFromString(fshNumber.text)!.integerValue
    if (fshLimit>fshInt) {
        mdMessage.text = "You need help"
    } else {
        mdMessage.text = "You'll be okay"
    }

}

1 个答案:

答案 0 :(得分:0)

而不是:

var fshInt = (fshNumber.text as NSString).integerValue

请改用:

/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
    System.out.println( "Integer.MAX_VALUE = " +   Integer.MAX_VALUE );
    System.out.println( "Integer.MAX_VALUE + 1 = " +   (Integer.MAX_VALUE + 1) );
    System.out.println( "Integer.MAX_VALUE * 2 = " +  ( Integer.MAX_VALUE * 2) );
    System.out.println( "Integer.MAX_VALUE * 5 = " +  ( Integer.MAX_VALUE * 5) );
    System.out.println( "Integer.MAX_VALUE * 10 = " + (  Integer.MAX_VALUE * 10) );
    System.out.println( "Integer.MAX_VALUE = " +   Integer.MAX_VALUE );
    System.out.println( "Integer.MIN_VALUE - 1 = " +   (Integer.MIN_VALUE - 1) );
    System.out.println( "Integer.MIN_VALUE * 2 = " +  ( Integer.MIN_VALUE * 2) );
    System.out.println( "Integer.MIN_VALUE * 5 = " +  ( Integer.MIN_VALUE * 5) );
    System.out.println( "Integer.MIN_VALUE * 10 = " + (  Integer.MIN_VALUE * 10) );
    //Part 2
    System.out.println( "Integer.MAX_VALUE + 1.0 = " +   (Integer.MAX_VALUE + 1.0) );
    System.out.println( "Integer.MAX_VALUE * 2.0 = " +  ( Integer.MAX_VALUE * 2.0) );
    System.out.println( "Integer.MAX_VALUE * 5.0 = " +  ( Integer.MAX_VALUE * 5.0) );
    System.out.println( "Integer.MAX_VALUE * 10.0 = " + (  Integer.MAX_VALUE * 10.0) );
    System.out.println( "Integer.MIN_VALUE - 1.0 = " +   (Integer.MIN_VALUE - 1.0) );
    System.out.println( "Integer.MIN_VALUE * 2.0 = " +  ( Integer.MIN_VALUE * 2.0) );
    System.out.println( "Integer.MIN_VALUE * 5.0 = " +  ( Integer.MIN_VALUE * 5.0) );
    System.out.println( "Integer.MIN_VALUE * 10.0 = " + (  Integer.MIN_VALUE * 10.0) );
    //Part 3
    int a, b;
    a = 1;
    b = 2;
    System.out.println( "The ints a, b are " + a + ", " + b );
    System.out.println( "a + b is " + a + b );
    System.out.println( "a - b is " + a - b );
    System.out.println( "a * b is " + a * b );
    System.out.println( "a / b is " + a / b );
    //Part 4
    double aD, bD;
    aD = 1.0;
    bD = 2.0;
    System.out.println( "The doubles aD, bD are " + aD + ", " + bD  );
    System.out.println( "aD + bD is " + aD + bD );
    System.out.println( "aD - bD is "  + aD - bD );
    System.out.println( "aD * bD is " + aD * bD );
    System.out.println( "aD / bD is " + aD / bD );
}
}