C#では、次のことができます。
12341.4.ToString("##,#0.00")
結果は12,345.40です
Dartで同等のものは何ですか?
私も解決策を見つけたかったし、次の例のように実装されていることがわかりました。
import 'package:intl/intl.Dart';
final oCcy = new NumberFormat("#,##0.00", "en_US");
void main () {
print("Eg. 1: ${oCcy.format(123456789.75)}");
print("Eg. 2: ${oCcy.format(.7)}");
print("Eg. 3: ${oCcy.format(12345678975/100)}");
print("Eg. 4: ${oCcy.format(int.parse('12345678975')/100)}");
print("Eg. 5: ${oCcy.format(double.parse('123456789.75'))}");
/* Output :
Eg. 1: 123,456,789.75
Eg. 2: 0.70
Eg. 3: 123,456,789.75
Eg. 4: 123,456,789.75
Eg. 5: 123,456,789.75
pubspec.yaml :
name: testCcy002
version: 0.0.1
author: BOH
description: Test Currency Format from intl.
dev_dependencies:
intl: any
Run pub install to install "intl"
*/
}
以下は、フラッター実装の例です。
import 'package:intl/intl.Dart';
final formatCurrency = new NumberFormat.simpleCurrency();
new Expanded(
child: new Center(
child: new Text('${formatCurrency.format(_moneyCounter)}',
style: new TextStyle(
color: Colors.greenAccent,
fontSize: 46.9,
fontWeight: FontWeight.w800)))),
たとえば、$#、###。##または$ 4,100.00になります。
Text( '$ {...の$は、' '内の変数_moneyCounterを参照するためだけのものであり、フォーマットされた結果に追加される$とは関係がないことに注意してください。
通貨記号を印刷したくない場合:
import 'package:intl/intl.Dart';
var noSimbolInUSFormat = new NumberFormat.currency(locale: "en_US",
symbol: "");