Ondalık noktaları ile birlikte sayısal değerleri girmek için en iyi yolu nedir?
Benim app kullanıcılar ondalık basamaklı sayısal değerleri girmek gerekiyor. İPhone bu amaç için özel bir klavye - numara takımına sayılar ve simgeler ile bir klavye sadece sağlar değil.
Kolay bir yol ikincisi kullanın ve nihai sonucu normal ifade etmeden girmiş olmaktan sayısal olmayan herhangi bir giriş önlemek için var mı?
Teşekkürler!
CEVAP
Daha zarif bir çözüm de kolay olur.
Ondalık ayırıcı anahtara ihtiyacın yok
Neden? Sadece kullanıcı girişinden bunu algılayın çünkü. Sayılar 1-2-3 girerek başlarsınız $1.23, girmek için ne örneğin, ABD yerel (bu sırayla). Her karakteri girildiğinde sistemde, bu gibi tanınmış olacaktır:
- kullanıcı 1 girerse: $0.01
- kullanıcı girer 2: $da 0,12
- kullanıcı 3 girer: $1.23
Kullanıcı girişi dayalı ondalık ayırıcı biz olayla nasıl dikkat edin. Eğer kullanıcı sadece sayı girmek istiyorsunuz $1.00, 1-0-0 girmek istiyor.
Sipariş kodunuzu farklı bir yerel para birimleri işlemek için para maksimum kesir basamak almak gerekir. Bu aşağıdaki kod parçacığı ile yapılabilir:
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
int currencyScale = [currencyFormatter maximumFractionDigits];
Örneğin, Japon Yeni 0 maksimum kesir basamak vardır. Yen giriş ile uğraşırken, ondalık ayırıcı ve hatta kesirli miktarda hakkında endişelenmenize gerek yok, böylece yok.
Soruna bu yaklaşım, özel tuş takımı, normal ifade doğrulama, vb baş ağrısı olmadan stok sayısal giriş tuş takımı, Apple tarafından sağlanan kullanmak için izin verir.
Sin ve cos birlikte hesaplamak için en...
Bir nesneyi klonlamak için en etkili y...
C bir Sözlük üzerinde yineleme için en...
JQuery ile bir dizi seçmek için bir se...
Koşullu bir sınıf uygulamak için en iy...