从双变量设置UITextfield文本值时,如何防止科学记数法? 我尝试用“%f”格式化它,但它显示-0为-0.00000。使用“%g”格式化使其显示指数。
答案 0 :(得分:3)
%.0f
表示浮点数为0的小数位数。
修改强>
由于看起来你仍然需要一些精确度,你应该使用NSNumberFormatter
实例,它更加灵活。
您可以使用-setMinimumFractionDigits:
和-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 ] ] );
答案 1 :(得分:0)
您可以在格式字符串中限制小数位数:
%.0f
将四舍五入到整数,
%.1f
将舍入为1位小数等,分别打印-0为-0
或-0.0
。