首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS 格式化浮點數輸出:%2.f 導致小數截斷,應用 %f 或 %.2f

     編輯:程式設計綜合問答

問題代碼

label1.text = [NSString stringWithFormat:@"%2.f", num]; // 錯誤格式

格式字串解析

  • %2.f:總寬度 2,小數點後 0 位 → 等同 %.0f 但最小寬度 2,數值 < 0.5 顯示為 0
  • %.2f:小數點後 2 位(標準金額格式)
  • %f:預設小數點後 6 位

修正

label1.text = [NSString stringWithFormat:@"%.2f", num];  // 保留兩位小數
label2.text = [NSString stringWithFormat:@"%.2f", cost];
label3.text = [NSString stringWithFormat:@"%.2f", costft];

進階:NSNumberFormatter(區域化、貨幣符號)

NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
fmt.numberStyle = NSNumberFormatterDecimalStyle;
fmt.minimumFractionDigits = 2;
fmt.maximumFractionDigits = 2;
label.text = [fmt stringFromNumber:@(num)];

常見格式對照

格式輸入 3.14159輸入 0.3
%2.f30
%.2f3.140.30
%f3.1415900.300000
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved