如何将 100.00 或 100.0 转换为 100,如果数字是 100.23,则应保持相同的 100.23。
在 dart 中,我测试了这些函数 floor() 和 round() 即使数字是 100.23,它们也会返回 100。
如何解决?
谢谢
答案 0 :(得分:4)
通过使用 flutter 的 intl 包来格式化数字。请参考以下
import 'package:intl/intl.dart' as intl;
@override
void initState() {
var valueFormat = intl.NumberFormat.decimalPattern();
print(valueFormat.format(100.234));
print(valueFormat.format(100.00));
}
输出
I/flutter ( 5364): 100.234
I/flutter ( 5364): 100
答案 1 :(得分:2)
double input1 = 100.00; //100
double input2 = 100.0; //100
double input3 = 100.23; //100.23
RegExp regex = RegExp(r"([.]*0)(?!.*\d)");
String str = input1.toString().replaceAll(RegExp(r"([.]*0)(?!.*\d)"), "");
答案 2 :(得分:1)
在得到更好的答案之前,您可以执行以下步骤:
double value = 100.32739273;
String formattedValue = value.toStringAsFixed(2);
print(formattedValue);
if (formattedValue.endsWith(".00")) {
formattedValue = formattedValue.replaceAll(".00", "");
}
print(formattedValue);