gpt4 book ai didi

ios - NSNumberFormatter setPositiveFormat

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:50:42 27 4
gpt4 key购买 nike

我正在尝试使用 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#的含义看this link .

关于ios - NSNumberFormatter setPositiveFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263341/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com