美文网首页
Flutter intl 基础使用 逗号分割数字

Flutter intl 基础使用 逗号分割数字

作者: 头秃到底 | 来源:发表于2024-02-26 22:06 被阅读0次

    intlFlutter中的一个国际化(Internationalization)库,用于处理多语言和本地化相关的功能。

    intl库提供了以下主要功能:

    • 日期和时间格式化:用于将日期和时间对象格式化为不同的语言和地区的习惯样式。
    • 数字格式化:用于将数字对象格式化为不同的语言和地区的习惯样式。
    • 消息翻译:用于将文本消息翻译为不同的语言。

    使用intl库,首先需要 Flutter 项目的 pubspec.yaml文件中添加依赖项:

    intl: ^0.17.0
    
    

    1 日期和时间格式化:

      // 获取当前时间
      DateTime now = DateTime.now();
    
      // 定义一个日期时间格式
      DateFormat dateFormat = DateFormat('yyyy-MM-dd HH:mm:ss');
    
    // 使用格式将当前时间格式化为字符串
      String formattedDateTime = dateFormat.format(now);
    
      debugPrint("当前时间 $now");
      debugPrint("格式化的时间 $formattedDateTime");
    
    
    image.png

    2. 数字格式化

    常用的也就是 保留小数位数、长数字分割、百分比转换

    四舍五入保留两位小数

    String format = NumberFormat("###.0#").format(12.6589);
    //12.66 四舍五入保留两位小数
    debugPrint("format $format");
    
    

    数字使用,号分割

    //数字使用,号分割
    String decimalPattern = NumberFormat.decimalPattern().format(1200000);
    //输出 1,200,000
    debugPrint("decimalPattern $decimalPattern");
    
    

    数字转百分比

    //数字转百分比
    String decimalPercentPattern =
        NumberFormat.decimalPercentPattern().format(0.23);
    //输出 23%
    debugPrint("decimalPercentPattern $decimalPercentPattern");
    
    

    最后分享一个小工具类

    ///格式化工具类
    class FormatUtil {
      ///日期格式
      static const String ymdHms = "yyyy-MM-dd HH:mm:ss";
    
      /// 格式化数值
      /// var f = NumberFormat("###.0#", "en_US");
      /// print(f.format(12.345));
      /// ==> 12.34
      static String formatNumber(
          {String pattern = '###.0#', dynamic number, String? locale}) {
        return NumberFormat(pattern, locale).format(number);
      }
    
      ///逗号分割数值
      static String decimalPattern(
          { dynamic number, String? locale}) {
        return  NumberFormat.decimalPattern(locale).format(number);
      }
      /// 格式化日期
      /// "yyyy-MM-dd HH:mm:ss"
      static String formatDate(
          {String pattern = 'yyyy-MM-dd HH:mm:ss', required DateTime date}) {
        return DateFormat(pattern).format(date);
      }
    
      /// 格式化毫秒日期
      /// "yyyy-MM-dd HH:mm:ss"
      static String formatMilliseconds(String pattern, int milliseconds) {
        return formatDate(
          pattern: pattern,
          date: DateTime.fromMillisecondsSinceEpoch(milliseconds),
        );
      }
    }
    
    

    相关文章

      网友评论

          本文标题:Flutter intl 基础使用 逗号分割数字

          本文链接:https://www.haomeiwen.com/subject/xuqtzdtx.html