Flutter 如何将100.00转换为100以及将100.23转换为100.23省道

Flutter 如何将100.00转换为100以及将100.23转换为100.23省道,flutter,dart,double,Flutter,Dart,Double,如何将100.00或100.0转换为100,如果数字为100.23,则应保持与100.23相同 在dart中,我测试了这些函数floor()和round(),它们返回100,即使数字是100.23 如何解决 谢谢在得到更好的答案之前,您可以执行以下步骤: double value = 100.32739273; String formattedValue = value.toStringAsFixed(2); print(formattedValue); if (formattedValue

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

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

如何解决


谢谢

在得到更好的答案之前,您可以执行以下步骤:

double value = 100.32739273;
String formattedValue = value.toStringAsFixed(2);

print(formattedValue);

if (formattedValue.endsWith(".00")) {
  formattedValue = formattedValue.replaceAll(".00", "");
}

print(formattedValue);

在得到更好的答案之前,您可以执行以下步骤:

double value = 100.32739273;
String formattedValue = value.toStringAsFixed(2);

print(formattedValue);

if (formattedValue.endsWith(".00")) {
  formattedValue = formattedValue.replaceAll(".00", "");
}

print(formattedValue);

通过使用颤振的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

通过使用颤振的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

谢谢,我想实现类似的功能,但我正在搜索dart中是否有一个内置函数可以实现同样的功能。谢谢,我想实现类似的功能,但我正在搜索dart中是否有一个内置函数可以实现同样的功能。如果您尝试发送valueFormat.format(4458.3333),这里有一个问题它返回4458.333,这是bug,它是逗号和点。如何解决?逗号和点是标准格式,您可以使用RegExp解决。如果您尝试发送valueFormat,这里有一个问题。format(4458.3333333)返回4458.333,这是错误,它是逗号和点。如何解决?逗号和点是标准格式,你可以用RegExp来解决。从这里偷来的我甚至没有检查,你怎么能说我偷了,我甚至没有检查你的评论。从这里偷来的我甚至没有检查,你怎么能说我偷了,我甚至没有检查你的评论。