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