dart Flutter从货币格式获取数值

xfb7svmp  于 12个月前  发布在  Flutter
关注(0)|答案(2)|浏览(125)

当前我的文本字段显示在货币格式示例IDR 120.000
我想得到的值为120000,我怎么能很容易地得到这个值?

fjnneemd

fjnneemd1#

我会在空格处拆分,并解析剩下的部分:

var numValue = double.tryParse(currValue.split(' ')[1])

字符串

z9zf31ra

z9zf31ra2#

你可以用这个得到数字

final regDigit = RegExp(r'\d+');

final strValue = 'IDR 120.000';

print(strValue.replaceAll(regDigit, '')); // output => 120000

字符串
将数字格式转换为印度货币格式的扩展:

final regDigit = RegExp(r'\d+');

extension digitExtractor on String {
  
  String get extractString {
    //return this.replaceAll(regDigit, '');
    return regDigit.allMatches(this).map((match) => match.group(0)).join();
  }
  
  int get extractInt {
    // parse or default 0
    return int.tryParse(extractString) ?? 0;
  }
}


现在你可以通过这样使用它来轻松获得价值:

final strValue = 'IDR 120.000';

print(strValue.extractString); // to get value in string

print(strValue.extractInt); // to get value in int

相关问题