【发布时间】:2021-02-04 08:20:54
【问题描述】:
如何将 100.00 或 100.0 转换为 100,如果数字为 100.23,则应保持与 100.23 相同。
在 dart 中,我测试了 floor() 和 round() 这些函数,即使数字是 100.23,它们也会返回 100。
如何解决?
谢谢
【问题讨论】:
如何将 100.00 或 100.0 转换为 100,如果数字为 100.23,则应保持与 100.23 相同。
在 dart 中,我测试了 floor() 和 round() 这些函数,即使数字是 100.23,它们也会返回 100。
如何解决?
谢谢
【问题讨论】:
通过使用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
【讨论】:
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)"), "");
【讨论】:
在您得到更好的答案之前,您可以执行以下步骤:
double value = 100.32739273;
String formattedValue = value.toStringAsFixed(2);
print(formattedValue);
if (formattedValue.endsWith(".00")) {
formattedValue = formattedValue.replaceAll(".00", "");
}
print(formattedValue);
【讨论】: