Flutter如何保留两位小数

在Flutter中,如何将数字保留两位小数?比如我有一个浮点数123.456,想显示为123.45,应该用什么方法实现?希望得到具体的代码示例,谢谢!

2 回复

使用toStringAsFixed(2)方法,例如:double num = 3.14159; num.toStringAsFixed(2); 返回字符串"3.14"。

更多关于Flutter如何保留两位小数的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中保留两位小数,可以通过以下几种方式实现:

1. 使用 toStringAsFixed() 方法

double number = 123.45678;
String result = number.toStringAsFixed(2); // "123.46"

2. 使用 NumberFormat 类(推荐用于显示)

import 'package:intl/intl.dart';

double number = 123.45678;
NumberFormat formatter = NumberFormat("#,##0.00", "en_US");
String result = formatter.format(number); // "123.46"

3. 在 Text 组件中直接格式化

Text(
  '${number.toStringAsFixed(2)}',
  style: TextStyle(fontSize: 16),
)

4. 自定义格式化函数

String formatDouble(double value) {
  return value.toStringAsFixed(2);
}

// 使用
String result = formatDouble(123.45678); // "123.46"

使用建议:

  • toStringAsFixed():简单快速,适合基本需求
  • NumberFormat:功能更强大,支持本地化、千分位分隔符等
  • 如果需要四舍五入计算,建议先进行数学运算再格式化

记得在使用 NumberFormat 时在 pubspec.yaml 中添加依赖:

dependencies:
  intl: ^0.18.1
回到顶部