digit_to_words_bd 1.0.10
digit_to_words_bd: ^1.0.10 copied to clipboard
A Dart package to convert numeric digits into their corresponding words representation.
import 'package:digit_to_words_bd/digit_to_words_bd.dart';
import 'package:flutter/material.dart';
import 'dart:async';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: ExampleScreen(),
);
}
}
class ExampleScreen extends StatefulWidget {
const ExampleScreen({super.key});
@override
// ignore: library_private_types_in_public_api
_ExampleScreenState createState() => _ExampleScreenState();
}
class _ExampleScreenState extends State<ExampleScreen> {
final amountController = TextEditingController();
final _amountStreamController = StreamController<String>.broadcast();
@override
void dispose() {
_amountStreamController.close();
super.dispose();
}
Future<void> updateAmountInWords(String digit) async {
try {
final doubleAmount = double.parse(digit);
final words = await digittowordsbd(doubleAmount);
_amountStreamController.add(words);
} catch (e) {
// Handle parsing error
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Example Screen'),
),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: SizedBox(
height: 200,
child: Column(
children: [
TextFormField(
controller: amountController,
keyboardType: TextInputType.number,
decoration: const InputDecoration(labelText: 'Enter Amount'),
onChanged: (value) {
updateAmountInWords(value);
},
),
const SizedBox(height: 20),
StreamBuilder<String>(
stream: _amountStreamController.stream,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return const CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text("Error: ${snapshot.error}");
} else {
return Text(
snapshot.data ?? "",
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
),
);
}
},
),
],
),
),
),
);
}
}