3 回答

TA貢獻1829條經驗 獲得超13個贊
SO Answer的潛在重復,使用NSNumberFormatter
Swift示例:
let number = NSNumberFormatter().numberFromString(numberString)
if let number = number {
let floatValue = Float(number)
}
示例(目標-C):
NSNumber *number = [[NSNumberFormatter new] numberFromString: numberString];
float floatValue = number.floatValue;

TA貢獻1829條經驗 獲得超9個贊
沒有人真正直接解決過這個問題。
也就是說,十進制分隔符是語言環境的約定。
iOS支持根據特定語言環境格式化數字。
如果您僅在給定的語言環境中工作,那么一切都應該正常工作。鍵盤應接受帶有正確小數點分隔符的數字。
例如,如果您在歐洲的大多數國家/地區,則需要輸入逗號作為小數點分隔符。在這些國家/地區輸入點是錯誤的。這些國家之一的人不會這樣做,因為這是錯誤的小數點分隔符。歐洲用戶將知道使用逗號作為小數點分隔符,而您無需執行任何操作。
如果您在美國,則需要使用句點。在美國使用逗號將是錯誤的。
顯示十進制數字的方式是使用數字格式器。創建數字格式化程序時,默認情況下它將使用當前語言環境。
如果需要將包含十進制數字的字符串從一種語言環境轉換為另一種語言環境,則應使用2個數字格式器。在源語言環境中使用格式化程序將字符串轉換為浮點數。然后,使用帶有目標語言環境的格式化程序,將數字轉換為輸出格式的字符串。
只需在默認的當前語言環境中創建一個數字格式化程序,然后創建第二個數字格式化程序并將其語言環境顯式設置為您要使用的另一種語言環境即可。
- 3 回答
- 0 關注
- 1182 瀏覽
添加回答
舉報