我试图在小数点后修剪零如下,但它没有给出所需的结果.
trig = [currentVal doubleValue];
trig = trig/100;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:0];
display.text = [formatter stringFromNumber:[NSNumber numberWithDouble:trig]];
Run Code Online (Sandbox Code Playgroud)
在小数点后没有修剪零的情况下仍然显示该数字.
这currentVal是我要输入的号码.
例如,如果我传递"trig"= 123(在执行trig/100之后最初"trig"= 123我想显示1.23但它显示为1.23000000).
Mon*_*olo 30
有时,直接C格式说明符比Cocoa格式化程序类更容易,并且它们可以在普通stringWithFormat:消息的格式字符串中使用NSString.
如果您的要求是不显示任何尾随零,则"g"格式说明符执行以下操作:
float y = 1234.56789f;
NSString *s = [NSString stringWithFormat:@"%g", y];
Run Code Online (Sandbox Code Playgroud)
请注意,没有精度信息,这意味着printf库将删除尾随的零.
从文档来看,它看起来setFractionDigits:只能用于转换其他方式。
最好的办法可能是在格式化之前将您的数字转换为整数,例如
double converted = round(trig); // man round for docs
Run Code Online (Sandbox Code Playgroud)
stringWithFormat:您还可以使用的格式化功能NSString,但是这样您将失去所有的本地化优势NSNumberFormatter。
| 归档时间: |
|
| 查看次数: |
11257 次 |
| 最近记录: |