こんばんは。 pregum_foxです。
タイトル通りです。
今回の記事はすごい短いですが、よく忘れるのでメモ代わりに書いておきます。
C#では 123.333.ToString("F1");
みたいなことをDartでする時、分からなかったので調べました。
コードはDartPadに張り付けてCtrl+Enterで実行できます。
結果
Dartでは 123.333.toStringAsFixed(1)
でいけます。
String toStringAsFixed(int fractionDigits)
のfractionDigitsの値が小数桁数になります。
参考:
似たようなメソッドに
指定した進数で表示するtoRadixString()
指定した指数値で表示するtoStringAsExponential()
指定した精度で表示するtoStringAsPrecision()
があります。
確認用コード
void main() { print(3.33.toStringAsFixed(1)); }
toString()のオーバーライドについて
デバッグ時ユーザー定義型のクラスのtoString()をオーバーロードしてデバッグしやすくすることを
C#でやっているので、Dartでもできるのか調べてみたら、C#と同じようにtoString()をオーバーライドしてあげればよいみたいです。
確認用コード
void main() { var myClass = MyClass(3.3, 2.2); print(myClass); } class MyClass{ final num x; final num y; MyClass(this.x, this.y); @override String toString(){ return 'x : $x, y : $y'; } } // 出力結果 // x : 3.3, y : 2.2
見て頂き、ありがとうございました。