如何将 100.00 转换为 100 和 100.23 到 100.23 飞镖

时间:2021-02-04 08:20:54

标签: flutter dart double

如何将 100.00 或 100.0 转换为 100,如果数字是 100.23,则应保持相同的 100.23。

在 dart 中,我测试了这些函数 floor() 和 round() 即使数字是 100.23,它们也会返回 100。

如何解决?

谢谢

3 个答案:

答案 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);