如何在 Dart 中将带逗号的字符串转换为双精度值?

Sha*_*az 2 double dart

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

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

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

TSo*_*One 15

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

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

String t = '5,000';
double f = NumberFormat().parse(t);
print(f);
Run Code Online (Sandbox Code Playgroud)

如果您不传入区域设置,NumberFormat() 会自动使用设备的当前区域设置进行初始化。


S.R*_*jit 5

对于你最后一个问题的答案:

String t = '5,000';
double f = double.parse(t.replaceAll(',',''));
print(f);
Run Code Online (Sandbox Code Playgroud)

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