ONLY DO WHAT ONLY YOU CAN DO

こけたら立ちなはれ 立ったら歩きなはれ

Dart に printf はないのんか?

"TRY DART!" というページを見つけました。
Dartの環境を作らなくても Online で、試せます。
http://try.dartlang.org/

以前紹介した、CompileOnline でも、Dart を試せますが。
http://www.compileonline.com/execute_dart_online.php

で、"Dart API Reference" を見てたのですが、printf が見当たらない。
http://api.dartlang.org/docs/channels/stable/latest/index.html

toStringAsFixed とか、toStringAsPrecision を使ってやればいいんだろうけど、
こーゆー位置合わせとか、やりにくくないですか?

C の場合
#include <stdio.h>
main()
{
    printf("%5.2f\n",  1.23);
    printf("%5.2f\n", 45.67);
}
 1.23
45.67
Dart の場合
void main() {
    print((1.23).toStringAsPrecision(4));
    print((45.67).toStringAsPrecision(4));
}
1.230
45.67

で、いろいろ見てたら、NumberFormat class ってーのがあり、こんなことができるらしいが、

var f = new NumberFormat("#0.00", "en_US"); 
print(f.format(1.23)); 
print(f.format(45.67)); 

コンパイルエラーになる。

ライブラリを import しないといけないようで、ぐぐってみると、

import "intl.dart";
import 'package:intl/intl.dart';

とか出てくるんだけど、どちらもコンパイルエラーになる。

環境作らずに済ませようなんて思わず、DartEditor をダウンロード
https://www.dartlang.org/

"intl" パッケージを追加
http://pub.dartlang.org/packages/intl

import 'package:intl/intl.dart';
void main() {
    var f = new NumberFormat("#0.00", "en_US"); 
    print(f.format(1.23)); 
    print(f.format(45.67)); 
}
1.23
45.67

ようやく実行できたけど、やりたかったのは、こんなんぢゃない...

What is Dart?

What is Dart?

Dart: Up and Running

Dart: Up and Running