簡體   English   中英

NSNumberFormatter setPositiveFormat

[英]NSNumberFormatter setPositiveFormat

我正在嘗試使用NSNumberFormatter ,我想使用: -setPositiveFormat來定制格式。

我想將121212.12轉換為12.12E+04

我必須使用9位數字和2位小數

我的目標不公開:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setFormatterBehavior:NSFoundationVersionNumber10_4]; // iOS supports only the modern 10.4+ behavior
[formatter setNumberStyle:NSNumberFormatterScientificStyle];
[formatter setMinimumFractionDigits:numberOfDecimalDigits];
[formatter setPositiveFormat:@"#.#E+00"];
[formatter setFormatWidth:9]; // set width
[formatter setPaddingCharacter:@"x"]; // choice padding Char
NSString *convertNumber = [formatter stringFromNumber:number];
return convertNumber;

但這不起作用...

自定義格式,例如:

[formatter setPositiveFormat:@"#.#E+00]; // my string is from my intuition ....

這是解決方案嗎?

第二個問題:我不明白#是什么意思? 還在字符串中00嗎? (我在文檔中找不到答案)

謝謝 !

我了解您希望格式化后的號碼具有以下確切格式:(2位數字)。(2位數字)E +(2位數字)

您可以按以下方式配置NSNumberFormatter

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setPositiveFormat:@"00.00E+00"];
NSNumber *number = [NSNumber numberWithFloat:121212.12];
NSString *convertNumber = [formatter stringFromNumber:number];

至於0#的含義看看這個鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM