iOS知识小集·NSNumber to NSString出错啦
生活随笔
收集整理的這篇文章主要介紹了
iOS知识小集·NSNumber to NSString出错啦
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
起因
某一次準(zhǔn)備把一個NSNumber顯示在lable上。
NSString *text = [NSString stringWithFormat:@"%@",value]; 復(fù)制代碼嗯。很完美。
問題
寫下如下代碼:
self.label.text = [NSString stringWithFormat:@"%@",@(8.0)];self.label1.text = [NSString stringWithFormat:@"%@",@(8.1)];self.label2.text = [NSString stringWithFormat:@"%@",@(8.2)];self.label3.text = [NSString stringWithFormat:@"%@",@(8.3)]; 復(fù)制代碼結(jié)果:
8.2,8.3這兩個數(shù)顯示的是什么鬼???!!!解決辦法
既然直接%@不行,那么我們把它轉(zhuǎn)化成double吧。
self.label.text = [NSString stringWithFormat:@"%f"8.0];self.label1.text = [NSString stringWithFormat:@"%f",8.1];self.label2.text = [NSString stringWithFormat:@"%f",8.2];self.label3.text = [NSString stringWithFormat:@"%f",8.3]; 復(fù)制代碼結(jié)果:
啊,為什么這么長!!本來想用 NSString *text = [NSString stringWithFormat:@"%.01f",8.2]; 復(fù)制代碼這樣的方法來固定在小數(shù)點后1位的。可是,產(chǎn)品經(jīng)理不答應(yīng)啊!!他說:“這個數(shù)字是版本號的意思,所以要顯示8.2,8.21,8.321這樣。”
好吧,我們稍作修改就好。
self.label.text = [NSString stringWithFormat:@"%g",8.1];self.label1.text = [NSString stringWithFormat:@"%g",8.2];self.label2.text = [NSString stringWithFormat:@"%g",8.23];self.label3.text = [NSString stringWithFormat:@"%g",8.321]; 復(fù)制代碼結(jié)果:
好吧,這下好了吧!?總結(jié)
以上是生活随笔為你收集整理的iOS知识小集·NSNumber to NSString出错啦的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吴恩达:现在很多所谓的AI公司,其实都不
- 下一篇: 产业结盟 跨界共赢 | 新华三成为“中国