颤动 - 在动态值字段上添加小数

问题描述 投票:0回答:2

在Flutter中,我有一个下拉列表(我们可以调用maxim字段)来选择总长度。然后在索引字段中,我们可以添加具有相同下拉长度的值。当我在索引字段中添加值时,我需要添加“.000”。

我尝试使用masked package但我无法连接索引字段值。

代码类似于

  int inputMaxValue=1;
  var inputIndexValue = new MaskedTextController(mask: inputMaxValue.text+'.000');

返回

只能在初始化程序中访问静态成员

¿任何人都知道我能解决这个问题吗?

flutter
2个回答
0
投票

我认为在你的情况下MaskedTextController是不必要的,只需将int inputMaxValue更改为double inputMaxValue并可能添加.toStringAsFixed(3)以在点之后获得3位小数。

EG

double inputMaxValue = 1.0;
String inputIndexValue = "${inputMaxValue.toStringAsFixed(3)}";

但是,如果要保留flutter_masked_text包,则应避免为mask属性使用动态字符串。错误Only static members can be accessed in initializers似乎是因为你在类中声明了被屏蔽的控制器变量,而不是它的封闭方法(例如initState)。

MaskedTextController的情况下,mask属性只能使用静态字符串。

例如这是我用来格式化电话号码字段:

MaskedTextController(mask: "(000) 000-0000")

0
投票

也许NumberFormat可以提供帮助

import 'package:intl/intl.dart';
final price = 123;
final formater = NumberFormat("#,##0.000");
print(formater.format(price));

输出:123.00

© www.soinside.com 2019 - 2024. All rights reserved.