#自分用メモ FlutterでIntlパッケージを使う(超簡易)


FlutterでIntlパッケージを使う(超簡易

インストール

Intlリファレンス

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  intl: ^0.16.1

NumberFormatを使う

var formStr = "#0.00";
var formatter = numFormat(formatStr);
var targetNum = 43;

print(formatter(targetNum));

結果

43.00

  • # :可能なら表示されない桁
  • 0 :必ず表示される桁
  • その他 :リンク参照

DateFormatを使う

ここで詰まった。
デフォルト言語の"en-US"以外を使う場合は初期化のためのメソッドを使う必要がある。
参照リンク

main.dart
import 'package:intl/date_symbol_data_local.dart';

void main() => initializeDateFormatting("ja-JP",null)
    .then((_)=> runApp(MyApp());

気をつけないといけないのは、最初の行のimport。
IDEの自動インポートに慣れてると忘れてしまうけど、これは自動でインポートされないので自分で書く必要がある。
ちなみに他の方法もあって、上記は一番シンプルなやり方で、ローカルにデータファイルをimportしている。

↓他のimport法

//↓ブラウザ外で動かしていて、ファイルシステムにデータを置く場合
import 'package:intl/date_symbol_data_file.dart';

//↓ブラウザで動かしていて、サーバーからデータを読み取る場合
import 'package:intl/date_symbol_data_http_request.dart';

実はNumberFormatでも引数にローカル記号を入れると各国それぞれの記法に対応出来るらしいんだけど、まあ日本語なら特に問題ないよね

詳細な使い方(本格的なローカライズなど)

こちらの方の記事に詳しい方法が載ってます。
ローカライズの対応までやりたいならこちらの記事を参照されたし。

とにかくDateFormatで日本語を使いたいだけならぼくの記事を参照にするだけで十分です。