You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Apps(SQL Server连接器):Gallery加载数据时数值列溢出问题

Power Apps中SQL Server大数值列显示异常的解决办法

问题原因

你推测的数值精度丢失问题是对的:SQL Server的numeric(18,0)支持18位整数,但Power Apps默认的数值类型(Double)仅能精确表示2^53以内的整数(约16位),超过这个范围的整数在渲染时会丢失末尾精度,导致显示值和实际值不符。

解决方法

方法1:加载数据时转换为文本类型

在将数据存入集合时,直接把CDRV列转换为文本,避免后续渲染时的精度丢失:

ClearCollect(colLoadFiles, AddColumns(LoadingFiles, "CDRV_Text", Text(CDRV)))

之后在Gallery控件中,用ThisItem.CDRV_Text替代ThisItem.CDRV显示即可。

如果是通过自定义SQL查询获取数据,也可以直接在SQL层面转换:

SELECT idFile, name, CAST(CDRV AS VARCHAR(20)) AS CDRV FROM LoadingFiles

方法2:在Gallery控件中直接格式化显示

无需修改集合,直接在Gallery的显示控件(比如Label)的Text属性中使用精确格式化:

Text(ThisItem.CDRV, "0")

"0"格式会强制渲染所有整数位,不会触发Double类型的精度丢失问题,确保显示值和集合中的原始值一致。

注意事项

  • 若需对CDRV值进行计算操作,建议优先在SQL Server端完成,避免Power Apps端的数值精度问题
  • 不要直接绑定ThisItem.CDRV到控件,默认的数值渲染逻辑会导致精度丢失

内容的提问来源于stack exchange,提问作者Amez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 09:10:20