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!