SwiftUIでのNumberFormatterの使用方法と例


  1. デフォルトのフォーマット: NumberFormatterを使用して、数値をデフォルトのフォーマットで表示することができます。以下はその例です。
import SwiftUI
struct ContentView: View {
    @State private var number: Double = 1234.5678

    var body: some View {
        Text("\(number, specifier: "%.2f")")
            .padding()
    }
}
  1. カスタムフォーマット: NumberFormatterを使用して、数値をカスタムのフォーマットで表示することもできます。以下はその例です。
import SwiftUI
struct ContentView: View {
    @State private var number: Double = 1234.5678
    private var formatter: NumberFormatter {
        let formatter = NumberFormatter()
        formatter.numberStyle = .currency
        formatter.currencySymbol = "$"
        return formatter
    }

    var body: some View {
        Text("\(number, formatter: formatter)")
            .padding()
    }
}
  1. データ型の変換: NumberFormatterを使用して、文字列から数値に変換することもできます。以下はその例です。
import SwiftUI
struct ContentView: View {
    @State private var input: String = "1234.5678"
    private var formatter: NumberFormatter {
        let formatter = NumberFormatter()
        formatter.numberStyle = .decimal
        return formatter
    }

    var body: some View {
        VStack {
            TextField("Enter a number", text: $input)
                .padding()

            if let number = formatter.number(from: input) {
                Text("Formatted number: \(number.doubleValue)")
                    .padding()
            } else {
                Text("Invalid number")
                    .padding()
            }
        }
    }
}

これらはNumberFormatterの一部の使用方法の例です。他にもさまざまなオプションや設定がありますので、公式ドキュメントを参照して詳細を確認してください。これらのコード例を試して、SwiftUIでNumberFormatterを上手に活用してください。