0

我有一个 mysql 表列定义为unit_price float(12,4).

如果我分配一个值0.1234,当我用 来创建远程视图时,我可以用dbsetprop来检索。0.1234myview.unit_price

但是,当我像这样使用 SQL 直通 (SPT) 时:

sqlexec(nHandle, "select * from table", "oResult")

结果oResult.unit_price只显示0.12

如何确保返回正确的完整值?

4

2 回答 2

0

The length of the decimal values are defined in your FoxPro settings. Go to Tools->Options->Regional and set the Decimal Digits to a higher value.

于 2014-05-21T14:24:13.763 回答
0

没有明确尝试过,你可以做一些简单的数学强制来创建更大的精度,比如在你的查询中添加一个额外的列......就像......

select *, unit_price * 1.00000 as UnitPrice5 from...

这将强制将字段计算到小数点后 5 位,并且可能实际上更改结果列以正确处理此强制小数点容量。然后,您将使用“UnitPrice5”列而不是“unit_price”...

不知道这对你来说是否是个大问题,但一旦它在 VFP 中,你也有更多的控制权。

于 2014-05-20T12:50:08.527 回答