【问题标题】:How can I convert String with comma to double in Dart?如何在 Dart 中将带逗号的字符串转换为双精度?
【发布时间】:2020-10-03 00:10:33
【问题描述】:

我有一个文本字段,我在其中将字符串作为输入并使用 double.parse() 方法将其转换为双精度。

我正在为文本字段使用数字类型键盘。但是当用户输入带有数字的逗号时,例如 5,000,我的程序给出的输出为 5.00

如何从 dart 中的 5,000 得到 5000 的输出?

【问题讨论】:

  • 一种方法是使用字符串替换方法忽略逗号
  • 尝试使用 .toStringAsFixed(逗号后的数字)。例如:(5.000).toStringAsFixed(3);结果是 5.000

标签: dart double


【解决方案1】:

此外,您还需要考虑本地化。欧洲国家使用逗号作为小数分隔符,而美国使用点。

您需要使用 intl 包中的 NumberFormat 来获得完整的解决方案。

String t = '5,000';
double f = NumberFormat().parse(t);
print(f);

如果您不传入语言环境,NumberFormat() 会自动使用设备的当前语言环境进行初始化。

【讨论】:

    【解决方案2】:

    最后一个问题的答案:

    String t = '5,000';
    double f = double.parse(t.replaceAll(',',''));
    print(f);
    

    使用.replaceAll() 替换所有不带字符的逗号实例

    【讨论】:

      【解决方案3】:

      您必须从输入字符串中删除“,”..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-13
        • 1970-01-01
        • 2022-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多