Olá, Celso. Tudo bem?
Aco que entendi a sua dúvida. Para isso, você pode usar o pacote intl do Flutter, que fornece ferramentas para internacionalização e localização.
Primeiro, adicione o pacote intl no seu arquivo pubspec.yaml:
dependencies:
flutter:
sdk: flutter
intl: ^0.17.0
Depois, você pode usar a classe NumberFormat do pacote intl para formatar os números. Aqui está um exemplo de como você pode fazer isso:
import 'package:intl/intl.dart';
final format = NumberFormat.decimalPattern(Localizations.localeOf(context).languageCode);
final String formattedNumber = format.format(yourNumber);
Nesse exemplo, NumberFormat.decimalPattern(Localizations.localeOf(context).languageCode) irá formatar o número de acordo com o idioma do dispositivo do usuário. Então, se o idioma do dispositivo for português, o número será formatado usando a vírgula como separador decimal.
Por fim, você pode usar o formattedNumber no seu TextFormField:
TextFormField(
controller: _temperatureController,
keyboardType: TextInputType.number,
decoration: InputDecoration(
label: Text('Temperatura (°C) $formattedNumber'),
),
),
Espero ter entendido e conseguido ajudar. Qualquer coisa manda aqui. Bons estudos!