0

从双变量设置 UITextfield 文本值时,如何防止科学记数法?我尝试使用“%f”对其进行格式化,但随后将 -0 显示为 -0.00000。使用 "%g" 格式化使其显示指数。

4

2 回答 2

3
%.0f

表示带有 0 个小数位的浮点数。

编辑

看起来您仍然需要一些精度,您应该使用一个NSNumberFormatter更灵活的实例。

你可以使用-setMinimumFractionDigits:and -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 ] ] );
于 2012-09-16T19:31:09.840 回答
0

您可以限制格式字符串中的小数位数:

%.0f

将四舍五入为整数,

%.1f

将四舍五入到小数点后 1 位等,分别将 -0 打印为-0-0.0

于 2012-09-16T19:31:43.240 回答