2015-07-21 17 views
8

Çift'i, her zaman yuvarlanan belirli sayıda ondalığa yuvarlamak istiyorum.Hızlıca aşağı kaydır

round(1.5679999 * 100)/100 //returns 1.57 
round(1.5679999 * 1000)/1000 //returns 1.568 

1.567 için .000 => 1,5679999 yuvarlama 1.56

için .00 => 1,5679999 yuvarlama

Örnek

Ben bir birleştirilmiş String Çift isteyen

+0

? Kullanıcıya gösterilecekse, bunun yerine 'NSNumberFormatter 'kullanmalısınız. Dizeleri biçimlendirmek için rasgele kayan noktaya güvenmemelisiniz. – mattt

+0

"NSNumberFormatter" altta yatan değeri değiştirmeyeceği için kullanıcıya bir "String" gösterecektir. #ifeellikemosesonthemountaintalkingtoyou. – Mika

+0

Daha fazla ayrıntı: Bir backspace düğmeli özel bir sayı paneli tasarlıyorum. Kullanıcı geri adım attığında, sadece rakamın ekrandan silinmesini değil, aynı zamanda girilen değerden de çıkmasını bekler. Ben böyle yaparım: 'miktar/= 10'' miktar = kat (tutar * 100)/100'' refreshAmountLabel() '. Öneriler hoş geldiniz! – Mika

cevap

24

'u floor ile değiştirin! hızlı 3.0 itibariyle

+2

Kendimi o kadar tuhaf hissetmiyorum ki ... – gnasher729

+3

'kat (1.5679999 * 1000)/1000 == 1.5669999999999999'. Kesin olarak güvenilir bir şekilde değiştirmek için kayan bir noktayı bölemez ve çoğaltamazsınız. – mattt

+0

Kesinlikle, bunu işaretlediğiniz için teşekkürler! PS - Seni seviyorum Mattt! :) Son zamanlarda neler yaptığınızı merak ediyordum. Yıllar boyunca iOS topluluğuna yaptığınız tüm harika katkılardan dolayı size büyük saygı duyuyorum. – Clafou

15

: Ne amaçla

myDouble.rounded(.down) 
+1

Bazen çok basit olabilir! Teşekkürler. – Lengo

İlgili konular