3

ATM機に入力された小数点以下2桁までの浮動小数点数を、未加工の金額でテキストフィールドに表示したいと思います。のように、0.03。6などの新しい数字を入力すると、0.36などになります。その方法を教えてください。ありがとう

4

4 に答える 4

2

ATM 機能のようにこれを確認してください...

    NSString *str = @"1234987";
    NSUInteger len = str.length;
    if (len>0) {
        if (len==1) {
            str = [NSString stringWithFormat:@"0.0%@",str];
            NSLog(@"%@",str);
        }
        else if (len==2) {

            str = [NSString stringWithFormat:@"0.%@",str];
            NSLog(@"%@",str);
        }
        else {
            NSString  *pointstr = [str substringWithRange:NSMakeRange(len - 2,2)];
            NSString *Bstr = [str substringWithRange:NSMakeRange(0,len-2)];
            str = [NSString stringWithFormat:@"%@.%@",Bstr,pointstr];
            NSLog(@"\n\n FullString %@",str);
        }
    }
    else{
          str = @"0.0";
    }

出力は: FullString 12349.87

このコードでお楽しみください..

于 2012-11-29T08:48:27.263 に答える
1
     NSNumberFormatter* decimalFormatter = [[NSNumberFormatter alloc] init];
        [decimalFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
        [decimalFormatter setMaximumFractionDigits:2];
        [decimalFormatter setMinimumFractionDigits:2];
NSString *enteredPrice=[decimalFormatter stringFromNumber:[NSNumber numberWithDouble:unitprice]];

10進数フォーマッタを使用できます

于 2012-11-29T08:20:36.563 に答える
0

この機能が組み込まれているSATextFieldをオープンソース化しました。fixedDecimalPointYESに設定します。

編集:この機能を含む新しいプロジェクトを作成しました: STAControls (具体的には、使用STAATMTextField-エントリもサポートしています.! )。違いは、このプロジェクトがインスタンスを収容する単なるコンテナ クラスであるのUITextFieldに対し、正当なサブクラスとして実装されていることです。SATextFieldUITextField

于 2013-05-08T12:47:31.920 に答える
0

どうぞ:

float yourFloat = 2.45678;
NSString *text = [NSString stringWithFormat:@"%.2f", yourFloat];
textField.text = text;
于 2012-11-29T08:19:46.537 に答える