Dart中的Java代码的等价物是什么?
int precision = 2; // depends on locale String f = "0".repeat(precision); // 00 String format = "0." + f; // "0.00"
我不喜欢构造via循环,因为它会产生很多垃圾。
baubqpgj1#
回答你的直接问题正如pskink在评论中指出的,创建重复String的最简单方法是使用String.operator *:
String
String.operator *
print('-' * 10); // Prints: ----------
因为你的特定用例似乎是生成一个格式字符串来与NumberFormat一起使用,正如pskink在注解中提到的那样,你也可以使用num.toStringAsFixed()。toStringAsFixed不输出本地化的十进制分隔符并不重要,因为NumberFormat期望.作为格式说明符:
NumberFormat
num.toStringAsFixed()
toStringAsFixed
.
import 'package:intl/intl.dart'; void main() { var someNumber = 628.3185; var precision = 2; var format = 0.toStringAsFixed(precision); // 0.00 print(NumberFormat(format).format(someNumber)); // Prints: 628.32 }
1条答案
按热度按时间baubqpgj1#
回答你的直接问题正如pskink在评论中指出的,创建重复
String
的最简单方法是使用String.operator *
:因为你的特定用例似乎是生成一个格式字符串来与
NumberFormat
一起使用,正如pskink在注解中提到的那样,你也可以使用num.toStringAsFixed()
。toStringAsFixed
不输出本地化的十进制分隔符并不重要,因为NumberFormat
期望.
作为格式说明符: