我使用NumberFormat.simpleCurrency在我的flutter应用程序中格式化美元金额。如果trxns.contractPrice不为null,效果会很好。当它为空时,我会得到以下错误:对null调用了getter"isNegative"。接收方:空尝试调用:isNegative
以下是代码片段:
TextSpan(
text:
'nPrice: ${NumberFormat.simpleCurrency().format(trxns.contractPrice) ?? 'n/a'}nStatus: ${trxns.trxnStatus ?? 'n/a'}',
style: TextStyle(
fontWeight: FontWeight.w900,
color: Colors.blueGrey),
)
我找不到任何关于这个错误的信息。有人能帮我处理null吗?
首先检查traxns
值是否为空,然后检查其属性或方法contractPrice
是否为空。现在,您正在为其中一项获取null,并且NumberFormat
中的format
方法正在引发一个异常。曾经可能的例子是:
TextSpan(
text:'nPrice: ${trxns!.contractPrice == null ? 'n/a' : NumberFormat.simpleCurrency().format(trxns.contractPrice)}nStatus: ${trxns!.trxnStatus ?? 'n/a'}',
style: TextStyle(fontWeight: FontWeight.w900, color: Colors.blueGrey),
);
在格式化之前对contractPrice
进行null
检查
样品:
Text(
'nPrice: ${(contractPrice != null) ? NumberFormat.simpleCurrency().format(contractPrice) : 'n/a'}',
)