從雙變量設置UITextfield文本值時,如何防止科學記數法? 我嘗試使用「%f」格式化它,但隨後它將-0顯示爲-0.00000。使用「%g」格式顯示指數。如何防止科學記數法與雙打目標c?
0
A
回答
3
%.0f
這意味着一個浮點數爲0的小數位。
編輯
,因爲它似乎你仍然需要一些精度,你應該使用一個NSNumberFormatter
實例,它是靈活得多。
您可以使用-setMinimumFractionDigits:
和-setMaximumFractionDigits:
,所以零會0
,但你仍然可以擁有精度:
NSNumberFormatter * fmt;
fmt = [ [ NSNumberFormatter new ] autorelease ];
[ fmt setMinimumFractionDigits: 0 ];
[ fmt setMaximumFractionDigits: 2 ];
[ fmt setMinimumIntegerDigits: 1 ];
NSLog(@"%@", [ fmt stringFromNumber: [ NSNumber numberWithFloat: (float)0 ] ]);
NSLog(@"%@", [ fmt stringFromNumber: [ NSNumber numberWithFloat: (float)0.42 ] ]);
0
您可以限制在格式字符串中的小數號碼:
%.0f
將全面爲整數,
%.1f
將舍入到小數點後1位等,打印-0分別爲-0
或-0.0
。
+0
我仍然需要保留十進制精度,但在右側清理不必要的0,' - '如果值爲0,則'。'如果沒有分數 – amirfl
相關問題
- 1. json.net:防止ULONG在科學記數法
- 2. 目標C - 科學記數法「串」到雙
- 3. 如何防止R中的科學記數法?
- 4. 防止科學記數法與NSDecimalNumber輸出作爲NSString
- 5. 如何打印整數無小數或科學記數法C++
- 6. 目標c中的科學記數法(與基數e計算相混淆)
- 7. 雙人科學記數法格式的10次方C#
- 8. 如何從雙精度去除科學記數法
- 9. 如何在C中沒有科學記數法顯示大的雙數字?
- 10. 停止打印大量的零(不是科學記數法)
- 11. matplotlib極座標圖科學記數法
- 12. 如何解析從科學記數法
- 13. 使用科學記數法與wxGrid
- 14. 拉繩與標準化的科學記數法(上標)
- 15. 如何防止PHP SoapClient將雙精度值轉換爲科學計數?
- 16. 科學記數法XAML
- 17. NSNumberformatter準科學記數法
- 18. 擺脫科學記數法
- 19. 爪哇 - 科學記數法
- 20. 沒有科學記數法
- 21. 科學記數法符號
- 22. 如何在y上打印科學記數法struct
- 23. 如何以科學記數法顯示係數與觀星者
- 24. 沒有科學記數法和雙舍入法
- 25. Visual Basic 6 - 將科學記數法轉換爲雙倍數
- 26. 如何使C++的cout不能用科學記數法
- 27. 如何防止數據以科學形式顯示?
- 28. 雙解析科學計數法
- 29. SQL何時使用科學記數法?
- 30. 在C++中以'D'作爲指數前綴讀取雙重科學記數法
我仍然需要顯示一些小數精度。截斷分數並不能解決這個問題。 – amirfl
請參閱編輯... – Macmade
謝謝,根據您的建議,我以一種稍微不同的方式使用了NSNumberFormatter(再一次,我不想限制精度)。
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; myTextField.text = [formatter stringFromNumber:[NSNumber numberWithDouble:self.myDoubleValue]];
現在我試圖找出如何做逆向轉換。從2,000,000.45這樣的字符串到雙精度(我是否必須創建自己的方法來刪除格式或在可可中是否有現有方法?) 感謝您的幫助 – amirfl